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

7

是否可以将RDD复制为两个或多个RDD?

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

1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接