2015-08-11 13 views
14

Ho creato un'applicazione Spark e Flink k-means. Il mio caso di test è un clustering su 1 milione di punti su un cluster a 3 nodi.Spark vs Flink memoria disponibile

Quando iniziano i colli di bottiglia in memoria, Flink inizia a esternalizzare su disco e funziona lentamente ma funziona. Tuttavia, Spark perde gli esecutori se la memoria è piena e ricomincia (ciclo infinito?).

Cerco di personalizzare l'impostazione della memoria con l'aiuto della mailing list qui, grazie. Ma Spark non funziona ancora.

È necessario impostare qualsiasi configurazione? Voglio dire che Flink funziona con poca memoria, Spark deve anche essere in grado di; o no?

risposta

19

Non sono un esperto Spark (e sono un contributore Flink). Per quanto ne so, Spark non è in grado di versare sul disco se non c'è abbastanza memoria principale. Questo è uno dei vantaggi di Flink over Spark. Tuttavia, Spark ha annunciato una nuova chiamata al progetto "Tungsten" per abilitare la memoria gestita simile a Flink. Non so se questa funzione è già disponibile: https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html

ci sono un paio di domande su SO Spark di problemi di memoria (una ricerca su Internet con la "scintilla out of memory" resa molti risultati, anche):

spark java.lang.OutOfMemoryError: Java heap space Spark runs out of memory when grouping by key Spark out of memory

Forse uno di quelli aiuto.

+4

Spark può serializzare i dati su disco ma richiede che parti dei dati si trovino nell'heap della JVM per determinate operazioni. Se la dimensione dell'heap non è sufficiente, il processo muore con un errore OutOfMemoryError. Al contrario, il motore di Flink non accumula molti oggetti nell'heap ma li memorizza in un'area di memoria dedicata. Tutti gli operatori sono implementati in modo tale da poter gestire pochissima memoria e possono riversare su disco. Questo [post di blog] (http://flink.apache.org/news/2015/05/11/Juggling-with-Bits-and-Bytes.html) discute della gestione della memoria di Flink e del suo funzionamento su dati binari. –

Problemi correlati