如何将RDD复制成多个RDD?

How to duplicate RDD into multiple RDDs?

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

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

RDDs 是不可变的,对 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")