cassandra - 清除 Cassandra 中的所有行的列

标签 cassandra apache-spark cql

这是我的场景。我有一个包含 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/

相关文章:

nosql - Cassandra:制作数据模型/模式

rest - 使用 Apache Spark 查询 REST Web 服务?

python - 使用 shell 和 python 驱动程序导入 Cassandra 数据的时间

nosql - 如何通过复合键在 Cassandra 中查询 cli 查询?

ubuntu - 无法访问 Cassandra 的 pidfile

Cassandra宽行和简单行在幕后

apache-spark - Spark Full Rdd joinWithCassandraTable java.lang.IllegalArgumentException : requirement failed: Invalid row size: instead of

apache-spark - 如何设置 spark 使用特定数量的内核?

Cassandra - 使用 TimeUUID 重复时间戳?

database - 在 CQLSH 中使用 "-f"标志运行 query.cql 文件的问题