更新 Cassandra 数据库表中现有行的 TTL 值



我有一个表,其中包含许多记录,其中 TTL 值在插入时设置为 1 年。现在我想以简单的方式将 TTL 值的记录更新为 5 年。我知道我们可以通过UPDATE TABLE USING TTL <value> set column ='' where condition做到这一点,但我有数百万条记录,所以我需要一个带有一个查询的解决方案。

您不能在单个查询中执行此操作。TTL 是用数据写入的,因此要更改 TTL,您必须重写所有内容。我建议使用 Spark 作业、一个 1 off 脚本来读取和重写所有内容,或者编写一个自定义压缩工具来重写压缩期间的所有内容(在 3.x 中更容易(。

最新更新