获取Cassandra表的创建日期

3

如何获取Cassandra表的创建日期和时间?

我尝试使用cqlsh DESC TABLE命令,但没有关于创建时间戳的信息......

1个回答

3

根据您使用的Cassandra版本,您可以检查模式表。每个表在创建时都会获得一个唯一的ID,并将该ID写入模式表中。如果查询该ID的WRITETIME,它应该给出一个UNIX时间戳(以微秒为单位),表示其创建时间。

Cassandra 2.2.x及以下版本:

> SELECT keyspace_name, columnfamily_name, writetime(cf_id) 
    FROM system.schema_columnfamilies 
    WHERE keyspace_name='stackoverflow' AND columnfamily_name='book';

 keyspace_name | columnfamily_name | writetime(cf_id)
---------------+-------------------+------------------
 stackoverflow |              book | 1446047871412000

(1 rows)

Cassandra 3.0及以上版本:

> SELECT keyspace_name, table_name, writetime(id) 
    FROM system_schema.tables 
    WHERE keyspace_name='stackoverflow' AND table_name='book';

 keyspace_name | table_name | writetime(id)
---------------+------------+------------------
 stackoverflow |       book | 1442339779097000

(1 rows)

2
非常好,谢谢! - user2552806
3
时间戳实际上将以微秒为单位,而不是毫秒。 - Jeff Jirsa
1
糟糕!感谢@JeffJirsa。已进行编辑。 - Aaron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接