如何将RDD复制到多个RDD中?

时间:2015-01-19 12:29:20

标签: apache-spark cassandra rdd

是否可以将RDD复制到两个或几个RDD中?

我想使用cassandra-spark驱动程序并将RDD保存到Cassandra表中,此外,继续进行更多计算(最终将结果保存到Cassandra)。

1 个答案:

答案 0 :(得分:8)

RDD是不可变的,RDD上的转换会创建新的RDD。因此,没有必要创建RDD副本以应用不同的操作。

您可以将基础RDD保存到辅助存储,并进一步对其应用操作。

这完全没问题:

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