In particolare, se dicoEsiste un "Spiega RDD" scintille
rdd3 = rdd1.join(rdd2)
poi quando chiamo rdd3.collect
, a seconda del Partitioner
utilizzato, sia dati vengono spostati tra le partizioni nodi, o è fatto il join localmente su ogni partizione (o, per quel che ne so, qualcos'altro interamente). Dipende da ciò che la carta RDD chiama dipendenze "strette" e "larghe", ma chissà quanto è buono l'ottimizzatore nella pratica.
Ad ogni modo, posso in qualche modo ricavare dall'output di traccia quale cosa è realmente accaduta, ma sarebbe bello chiamare rdd3.explain
.
Esiste una cosa del genere?
Quella è una cosa di bellezza –
Questo è utile, ma non è il livello di dettaglio che speravo. In particolare, un join che richiede/non richiede un shuffle da 'la stessa uscita a debugString ... anche se per cose come distinte posso chiaramente vedere il passo shuffle. –
Penso che intendo "realizzato per eseguire locale", come in, non dovrebbero essere inviati dati tra i nodi se i partizionatori sono d'accordo. –