2015-04-22 8 views
6

Ich versuche Sparks in Memory-Funktion zu verstehen. In diesem Prozess stieß ich auf Tachyon , die im Grunde in Speicherdatenschicht ist, die Fehlertoleranz ohne Replikation durch die Verwendung von Lineage-Systemen bietet und die Neuberechnung durch Check-Pointing der Datensätze reduziert. Nun, wo ist verwirrt, all diese Features sind auch erreichbar durch Spark Standard RDD s-System. Ich frage mich also, ob RDDs Tachyon hinter den Kulissen implementieren, um diese Funktionen zu implementieren? Wenn nicht, was ist Tachyon, wo all seine Arbeit mit Standard-RDDs erledigt werden kann. Oder mache ich einen Fehler in Bezug auf diese beiden? Eine ausführliche Erklärung oder ein Link zu einer wird eine große Hilfe sein. Vielen Dank.Wird Tachyon standardmäßig von den RDDs in Apache Spark implementiert?

Antwort

1

Was in dem Papier, das Sie verlinkt haben, nicht die Realität von Tachyon als Open-Source-Projekt widerspiegelt, Teile dieses Papiers existierten nur als Forschungsprototypen und wurden nie vollständig in Spark/Tachyon integriert.

Wenn Sie Daten an die Speicherposition OFF_HEAP über rdd.persist(StorageLevel.OFF_HEAP) persistieren, verwendet Tachyon diese Daten in Tachyon als Datei. Dadurch wird es aus dem Java-Heap entfernt, wodurch Spark mehr Arbeitsspeicher zur Verfügung stellt.

Die Lineage-Informationen werden derzeit nicht geschrieben. Wenn Ihre Daten zu groß sind, um in die konfigurierten Tachyon-Cluster zu passen, gehen die Speicherbereiche der RDD verloren und Ihre Spark-Jobs können fehlschlagen.

+0

Vielen Dank Rob für die Beantwortung. Daher wird Tachyon standardmäßig in RDDs für eine Persistenzstufe verwendet, aber Tachyon implementiert nicht alle diese Funktionen, stattdessen implementieren RDDs all diese Funktionen. habe ich recht ? –

+0

Das ist eine genaue Beschreibung, soweit ich es verstehe – RobV

Verwandte Themen