是否可以将RDD复制到两个或几个RDD中?
我想使用cassandra-spark驱动程序并将RDD保存到Cassandra表中,此外,继续进行更多计算(最终将结果保存到Cassandra)。
答案 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")