Che cosa significa "Fase saltata" nell'interfaccia utente Web di Apache Spark?


Risposte:


124

In genere significa che i dati sono stati recuperati dalla cache e non è stato necessario rieseguire una determinata fase. È coerente con il tuo DAG che mostra che la fase successiva richiede shuffling ( reduceByKey). Ogni volta che è coinvolto un mescolamento, Spark memorizza automaticamente nella cache i dati generati :

Shuffle genera anche un gran numero di file intermedi su disco. A partire da Spark 1.3, questi file vengono conservati fino a quando gli RDD corrispondenti non vengono più utilizzati e vengono raccolti in modo indesiderato. Questo viene fatto in modo che i file shuffle non debbano essere ricreati se la discendenza viene ricalcolata.


23
Bella risposta. Se volete saperne di modo più la semantica di "saltato" e "in attesa" tappe sull'interfaccia utente web, controlla github.com/apache/spark/pull/3009 , la richiesta di pull che per primo ha introdotto questi concetti. Quella PR è anche una lettura interessante se sei curioso di sapere come le fasi saltate / in sospeso interagiscono con le barre di avanzamento a livello di lavoro.
Josh Rosen

1
Se sto seguendo correttamente, Spark saltando questi significa che non si verificano e possono essere rimossi dal codice tutti insieme? o il codice è molto efficiente con la cache quindi lasciarlo? @ zero323
SparkleGoat

1
@SparkleGoat No. Significa che queste fasi sono state valutate in precedenza e il risultato è disponibile senza riesecuzione.
10465355 dice Reinstate Monica

un'altra domanda, la memorizzazione nella cache e il salto delle fasi possono rendere i dati di output diversi?
SparkleGoat

1
@SparkleGoat, nessuna memorizzazione nella cache (e il salto a causa di ciò) è un'ottimizzazione spark interna e non modifica in alcun modo i dati di output.
Ravi Sanwal
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.