首页 > 解决方案 > 如何将相同的rdd保存到多个cassandra表?

问题描述

我正在尝试这样做主要是因为我必须将来自同一流的数据保存到两个 cassandra 表中,它们具有几乎相同的架构但不同的主键来服务两个查询。

将要

rdd.saveToCassandra(keySpace, tableOne, allColumn)
rdd.saveToCassandra(keySpace, tableTwo, allColumn)

做这项工作?

这是正常的做法吗?我用谷歌搜索了一下,有人说当 rdd 很大时可能会导致性能问题:

https://groups.google.com/a/lists.datastax.com/forum/#!topic/spark-connector-user/e1nfWWyhZRo

标签: apache-sparkcassandra

解决方案


这样做是可以的。为避免性能问题,您需要cache在首次使用之前使用 RDD,如下所示:

rdd.cache()

unpersist同样在使用后,您的 RDD也是这样的好习惯:

rdd.unpersist()

推荐阅读