如何获取Cassandra表的创建日期和时间?
我尝试使用cqlsh DESC TABLE命令,但没有关于创建时间戳的信息......
根据您使用的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)