Можно ли дублировать 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")