2014-12-04 15 views
6

Perché i dati intermedi vengono memorizzati sul disco durante la riproduzione casuale? Sto cercando di capire perché non può archiviare in memoria. Quali sono le sfide da scrivere in memoria?Perché Spark shuffle memorizza i dati intermedi sul disco?

È in corso qualche lavoro per scriverlo in memoria?

+0

È possibile impostare "spark.shuffle.spill" su falso per scrivere i dati intermedi nella memoria. – Amos

+0

Perché questa non è un'opzione predefinita? –

risposta

4

Spark memorizza i dati intermedi sul disco da un'operazione di shuffle come parte della sua ottimizzazione "sotto il cofano". Quando la scintilla deve ricalcolare una porzione di un grafico RDD, può essere in grado di troncare la linea di un grafico RDD se l'RDD è già presente come effetto collaterale di un precedente shuffle. Ciò può accadere anche se l'RDD non è memorizzato nella cache o persistentemente specificato.

La fonte di questa risposta è il libro O'Reilly Learning Spark di Karau, Konwinski, Wendell & Zaharia. Capitolo 8: Accordatura e debug di Spark. Sezione: Componenti di esecuzione: lavori, attività e fasi.

Problemi correlati