【发布时间】:2015-03-17 11:07:34
【问题描述】:
是否可以将一个 RDD 复制到两个或多个 RDD 中?
我想使用 cassandra-spark 驱动程序并将 RDD 保存到 Cassandra 表中,此外,继续进行更多计算(并最终将结果也保存到 Cassandra)。
【问题讨论】:
标签: apache-spark cassandra rdd
是否可以将一个 RDD 复制到两个或多个 RDD 中?
我想使用 cassandra-spark 驱动程序并将 RDD 保存到 Cassandra 表中,此外,继续进行更多计算(并最终将结果也保存到 Cassandra)。
【问题讨论】:
标签: apache-spark cassandra rdd
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")
【讨论】: