2016-06-29 9 views
1

Ich arbeite an einer Spark-Anwendung, in der ich RDD in einer Schleife in jeder Iteration zwischenspeichern muss. Nachdem ich mit jedem RDD fertig bin versuche ich es zu unpersist. Nach ein paar Iterationen bekomme ich jedoch immer eine Ausnahme. Wenn der GC direkt aufgerufen wird, nachdem ich die Unpersistentin ausgeführt habe, sollte alles in Ordnung sein und ich sollte keine Speicherausnahme bekommen (aufgrund der Größe meiner RDD). Ich bin mir jedoch nicht sicher, wie oft der GC auf den Arbeiterknoten aufgerufen wird. Könnte jemand das für mich ausarbeiten?Wenn GC in den Worker-Knoten in Spark aufgerufen wird

Antwort

0

Nicht sicher, dass dies mit Ihrem Fall zusammenhängt, aber beachten Sie, dass, wenn Sie viele Iterationen haben, das Diagramm der Abhängigkeiten für Ihre RDDS wachsen wird. Wenn dies der Fall ist, ziehen Sie in Betracht, checkpoints zu verwenden, was das Liniengraph abschneidet und die RDD speichert (vielleicht am besten bei jeder n-ten Iteration).

Verwandte Themen