Получить дату создания таблиц cassandra

Как я могу получить дату и время создания таблицы cassandra?

Я пытался использовать cqlsh DESC TABLE, но нет информации о метке времени создания...


person Reshef    schedule 26.01.2016    source источник


Ответы (1)


В зависимости от вашей версии Cassandra вы можете проверить таблицы схемы. Каждая таблица получает уникальный идентификатор при создании, и этот идентификатор записывается в таблицы схемы. Если вы запросите 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)

Кассандра 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)
person Aaron    schedule 26.01.2016
comment
Очень мило спасибо! - person Reshef; 26.01.2016
comment
Отметка времени на самом деле будет в микросекундах, а не в миллисекундах. - person Jeff Jirsa; 26.01.2016
comment
Дох! Спасибо @JeffJirsa. Правка сделана. - person Aaron; 26.01.2016