2015-01-19 14 views
6

È possibile duplicare un RDD in due o più RDD?Come duplicare RDD in più RDD?

Desidero utilizzare il driver cassandra-spark e salvare un RDD in una tabella Cassandra e, inoltre, continuare con altri calcoli (e infine salvare il risultato su Cassandra).

risposta

7

RDD s sono immutabili e le trasformazioni su RDD creano nuovi RDD. Pertanto, non è necessario creare copie di un RDD per applicare diverse operazioni.

È possibile salvare l'RDD di base nella memoria secondaria e applicare ulteriormente le operazioni su di esso.

Questo è perfettamente OK:

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")