apache-spark - 如何将相同的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
解决方案
这样做是可以的。为避免性能问题,您需要cache
在首次使用之前使用 RDD,如下所示:
rdd.cache()
unpersist
同样在使用后,您的 RDD也是这样的好习惯:
rdd.unpersist()
推荐阅读
- java - 必须单击两次才能获取上一个数组元素
- jbehave - Jbehave 在生命周期步骤中传递数据
- scala - Spark 2.3.1 结构化流kafka ClassNotFound
- python - 无法在 MacOs 中为 python2 安装 pyopenssl
- java - 在类构造函数中调用线程的替代方法
- python - 当 MILP 显然可以解决时,为什么它不产生解决方案?
- java - 在Java中比较第一个文件的一个字符串和第二个文件的所有字符串
- c# - 如何获取数组中具有固定数量标志的所有组合
- numpy - np.array([args.width, args.width]) 和 np.zeros(5) 的语法
- python-3.x - 结果使用 neupy 得到 NaN