Получить все столбцы, семейство / таблицы бережливости и CQL из пространства ключей в cassandra

Я использую hector для управления кассандрой версии 2.1.8 и хочу получить все таблицы из определенного пространства ключей в приложении. Я использую «KeyspaceDefinition.getCfDefs ()» для получения списка семейств столбцов в пространстве ключей.

Однако я обнаружил, что функция getCfDefs () может просто получить семейство столбцов, созданное с помощью экономичного API, например «me.prettyprint.hector.api.Cluster.updateColumnFamily», но не таблицу, созданную CQL, например клиент cqlsh.

Затем, как получить все таблицы из определенного пространства ключей с помощью гектора?


person chenatu    schedule 04.08.2015    source источник
comment
возможный дубликат Как перечислить семейства столбцов в пространстве ключей?   -  person Aaron    schedule 05.08.2015
comment
@ BryceAtNetwork23 Я пытаюсь сделать это с помощью Hector. Однако в будущем я могу использовать CQL, а не hector.   -  person chenatu    schedule 06.08.2015


Ответы (1)


Вы можете проверить все метаданные таблицы для пространства ключей программно, используя таблицы системных метаданных:

select * from system.schema_columnfamilies where keyspace_name='ks';
select * from system.schema_columns where keyspace_name='ks';

Вам нужно будет самостоятельно объединить эти столбцы и таблицы.

В качестве альтернативы, если вы не привязаны к этому клиенту, вы можете использовать cqlsh для «описания» рассматриваемого пространства ключей или использовать один из драйверов DataStax с API метаданных (java, python).

person Adam Holmberg    schedule 05.08.2015
comment
Спасибо, Адам. Я обсуждал с другими и обнаружил, что экономный клиент не может видеть таблицы, созданные с помощью CQL. Я рассматриваю использование CQL, а не hector. - person chenatu; 06.08.2015