Spark speichert den Arbeitsdatensatz im Speicher und führt dann Berechnungen mit Speichergeschwindigkeiten durch. Gibt es eine Möglichkeit zu steuern, wie lange der Arbeitssatz im Arbeitsspeicher liegt?
Ich habe eine große Menge an Daten, auf die über den Job zugegriffen wird. Es braucht Zeit, um den Job zunächst in den RAM zu laden, und wenn der nächste Job eintrifft, muss er alle Daten erneut in den RAM laden, was zeitaufwendig ist. Gibt es eine Möglichkeit, die Daten für immer (oder für eine bestimmte Zeit) mit Spark in den Arbeitsspeicher zwischenzuspeichern?
Um den Cache explizit zu deaktivieren, können Sie RDD.unpersist verwenden ()
Wenn Sie zwischengespeicherte RDDs für mehrere Jobs freigeben möchten, können Sie Folgendes versuchen:
Ich habe mit den Cache-Optionen in Spark experimentiert. Sie können hier mehr lesen: Ссылка
Sie können die Cache-Option für eine RDD angeben. RDD.cache (MEMORY_ONLY)
Spark wird automatisch gelöscht, wenn keine andere Aktion RDD erfordert.
Es gibt keine Option, eine RDD für eine bestimmte Zeit zwischenzuspeichern.
Bitte überprüfen Sie den folgenden Link
Tags und Links java caching apache-spark