获取 cassandra 表创建日期
Get cassandra tables creation date
如何获取cassandra的创建日期和时间table?
我尝试使用 cqlsh DESC TABLE 但是没有关于创建时间戳的信息...
根据您的 Cassandra 版本,您可以检查架构 tables。每个 table 在创建时都会获得一个唯一的 ID,并且该 ID 会写入架构 table 中。如果您查询该 ID 的 WRITETIME
,它应该会为您提供其创建时间的 UNIX 时间戳(以微秒为单位)。
Cassandra 2.2.x 及以下版本:
> SELECT keyspace_name, columnfamily_name, writetime(cf_id)
FROM system.schema_columnfamilies
WHERE keyspace_name='Whosebug' AND columnfamily_name='book';
keyspace_name | columnfamily_name | writetime(cf_id)
---------------+-------------------+------------------
Whosebug | book | 1446047871412000
(1 rows)
Cassandra 3.0 及更高版本:
> SELECT keyspace_name, table_name, writetime(id)
FROM system_schema.tables
WHERE keyspace_name='Whosebug' AND table_name='book';
keyspace_name | table_name | writetime(id)
---------------+------------+------------------
Whosebug | book | 1442339779097000
(1 rows)
如何获取cassandra的创建日期和时间table?
我尝试使用 cqlsh DESC TABLE 但是没有关于创建时间戳的信息...
根据您的 Cassandra 版本,您可以检查架构 tables。每个 table 在创建时都会获得一个唯一的 ID,并且该 ID 会写入架构 table 中。如果您查询该 ID 的 WRITETIME
,它应该会为您提供其创建时间的 UNIX 时间戳(以微秒为单位)。
Cassandra 2.2.x 及以下版本:
> SELECT keyspace_name, columnfamily_name, writetime(cf_id)
FROM system.schema_columnfamilies
WHERE keyspace_name='Whosebug' AND columnfamily_name='book';
keyspace_name | columnfamily_name | writetime(cf_id)
---------------+-------------------+------------------
Whosebug | book | 1446047871412000
(1 rows)
Cassandra 3.0 及更高版本:
> SELECT keyspace_name, table_name, writetime(id)
FROM system_schema.tables
WHERE keyspace_name='Whosebug' AND table_name='book';
keyspace_name | table_name | writetime(id)
---------------+------------+------------------
Whosebug | book | 1442339779097000
(1 rows)