2015-01-19 7 views
6

Ist es möglich, eine RDD in zwei oder mehrere RDDs zu duplizieren?Wie RDD in mehrere RDDs duplizieren?

Ich möchte den Cassandra-Spark-Treiber verwenden und eine RDD in einer Cassandra-Tabelle speichern, und zusätzlich mit weiteren Berechnungen fortfahren (und schließlich das Ergebnis auch in Cassandra speichern).

Antwort

7

s sind unveränderlich und Transformationen auf RDDs erstellen neue RDDs. Daher ist es nicht notwendig, Kopien einer RDD zu erstellen, um verschiedene Operationen anzuwenden.

Sie könnten die Basis-RDD im sekundären Speicher speichern und weitere Operationen darauf anwenden. Diese

ist völlig in Ordnung:

val rdd = ??? 
val base = rdd.byKey(...) 
base.saveToCassandra(ks,table) 
val processed = byKey.map(...).reduceByKey(...) 
processed.saveToCassandra(ks,processedTable) 
val analyzed = base.map(...).join(suspectsRDD).reduceByKey(...) 
analyzed.saveAsTextFile("./path/to/save") 
Verwandte Themen