这是我的场景。我有一个包含 500 万行以上的表。一个特定的映射列有两个键(某些条目可能缺少一个或两个键,但任何行对该列最多有两个键)。
我希望“清除”所有行中该列的值。我不想删除该列,因为之后我将运行一些设置一些值的操作。我想象简单地执行 update table set column.key=null ... 会因超时而失败。
实现这一目标对 Cassandra 最友好的方式是什么?我可以访问 Spark。是否会使用 Spark,读取 rdds 并每行发出更新查询并在分区中执行此操作?
谢谢, 阿希克。
PS:Apache Cassandra 2.1.2、Spark 1.1.1。
==========================
编辑:我可以容忍停机。
最佳答案
最终只是创建了一个 Spark 应用程序,获取表的 rdd 并为每个分区的每一行发出异步更新,等待每个分区的查询完成。更新 500 万多行花了 8 分 52 秒。尽管不需要,但随后对键空间进行了修复。
关于cassandra - 清除 Cassandra 中的所有行的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28544855/