cql3 - 检查 Cassandra 中收集列的当前 TTL

标签 cql3 cassandra-2.0

假设我有一个具有以下架构的列族:

CREATE TABLE users (
    user_id timeuuid,
    name varchar,
    last_name varchar,
    children list,
    phone_numbers map,
    PRIMARY KEY(user_id)
);

然后我在该 CF 中插入一行“USING TTL 60000”。当我想验证这些列中是否仍有 TTL 设置时,我收到错误:“无法在集合上使用选择函数 ttl”。

我的问题是:如何获取定义为集合的列元素的 TTL?

干杯!

最佳答案

我重现了你的问题——自然得到了完全相同的结果。问题在于,(1) 集合中的 TTL 是逐元素的(集合中的每个条目一个 TTL),并且 (2) 我发现无法从 map 或列表中获取条目。 当然,我可以删除一个元素——但选择它或其 TTL 是不可能的。即使 Datastax 的 CQL 驱动程序 v2 也没有为此提供元数据。 所以你可以为此改变你的数据结构。如果这“只是”出于测试目的,您必须相信 Cassandra 做得足够好。

关于cql3 - 检查 Cassandra 中收集列的当前 TTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22201000/

相关文章:

cassandra - 了解 Cassandra 的存储开销

node.js - 如何取消/中止 Cassandra 查询?

performance - 针对多个表与单个表的 Cassandra 扩展

java - Cassandra Java 驱动程序 - QueryBuilder API 与 PreparedStatements

Cassandra 慢速 SELECT MAX(x) 查询

cassandra - 如何在 Cassandra CQL3 中重命名表

java - Cassandra java 查询性能 count(*) 或 all().size()

cassandra - 使用 cassandra-cli 或 CQL 更改 cassandra 列族主键

enums - Cassandra 中的枚举数据类型