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