Як перелічити всі доступні простори клавіш у Кассандрі?


174

Я новачок у Кассандрі та намагаюся реалізувати одну програму іграшки за допомогою Кассандри. Я створив одне простору клавіш і кілька сімей колонок у моїй БД Cassandra, але забув назву мого кластера.

Я намагаюся знайти, чи є запит, який може перелічити всі доступні простори клавіш.

Хтось знає такий запит чи команду?


9
C * 3.x : SELECT * FROM system_schema.keyspaces;
belgacea

Ця відповідь застаріла. Правильна відповідь - сюди введіть опис посилання
Vinaya Thimmappa

Відповіді:


96

Якщо ви хочете зробити це поза cqlshінструментом, ви можете запитати schema_keyspacesтаблицю в systemпросторі клавіш. Існує також таблиця під назвою, schema_columnfamiliesяка містить інформацію про всі таблиці.

Команди DESCRIBEта SHOWкоманди працюють лише в cqlshі cassandra-cli.


340

[cqlsh 4.1.0 | Кассандра 2.0.4 | Специфікація CQL 3.1.1 | Протокол ощадливості 19.39.0]

Наразі командою для використання є:

DESCRIBE keyspaces;

10
Прийміть це як відповідь! І, до речі, на виході буде надруковано кілька імен простору клавіш в одному рядку.
Ерік Ван

3
Кассандра також дозволяє команду короткої руки, як у: DESC клавіші
Hari

30

Це дуже просто. Просто дайте команду нижче для переліку всіх просторів клавіш.

Cqlsh> Опишіть простори клавіш;

Якщо ви хочете перевірити простір ключів у системній схемі за допомогою SQL-запиту

нижче - команда.

SELECT * FROM system_schema.keyspaces;

Сподіваюся, це відповість на ваше запитання ...

Ви можете пройти пояснення щодо розуміння та створення клавіш з просторів ресурсів нижче.

Документація:

https://docs.datastax.com/en/cql/3.1/cql/cql_reference/create_keyspace_r.html https://www.i2tutorials.com/cassandra-tutorial/cassandra-create-keyspace/


13

Знайдено це ... show keyspacesКоманда перелічує всі проміжки клавіш. Я думаю, що раніше, коли я спробував цю команду, я забув дати останнє 's' у 'просторах клавіш'


8
Ви можете скористатися доповненням вкладки, щоб побачити підказки про те, як виконати команду cassandra-cli або cqlsh. Це може бути корисним для вас, якщо ви забудете синтаксис. Наприклад, просто введіть "show", а потім на вкладку, щоб побачити дійсні команди show.
Айк Уокер

3
Вторинний пункт вашої відповіді буде (для деяких людей) найціннішою частиною відповіді. Речі працюють набагато по-різному між "cqlsh" та "cassandra-cli" (а на афіші запитань не вказано, який він використовується). показати проміжки клавіш; опис (назва простору клавіш). ПРИМІТКА. Якщо використовується "cqlsh", для нього потрібні лапки навколо будь-яких змішаних чи великих регістрових імен у просторі клавіш або стовпчиків сім'ї (ОК, плакат цього не запитував, але це звичайна помилка користувача, якщо новачка в C *)
Скотт Прив

5

Після входу в cqlsh або cassandra-cli. бігайте нижче команд

  • На цкльш

desc keyspaces;

або

describe keyspaces;

або

select * from system_schema.keyspaces;

  • На кассандрі-клі

show keyspaces;


4

DESCRIBEКоманда є вашим другом. Ви можете описати один простір клавіш, список клавіш, одну таблицю або список усіх таблиць у просторі клавіш, кластер та багато іншого. Ви можете отримати повну ідею, набравши текст

HELP DESCRIBE в цкльш.

Підключено до mscluster на 127.0.0.1:9042. [cqlsh 5.0.1 | Кассандра 3,8 | Специфікація CQL 3.4.2 | Рідний протокол v4] Використовуйте HELP для допомоги.

cqlsh> ДОПОМОГА ОПИС

    DESCRIBE [cqlsh only]

    (DESC may be used as a shorthand.)

      Outputs information about the connected Cassandra cluster, or about
      the data objects stored in the cluster. Use in one of the following ways:...<omitted for brevity>
  • DESCRIBE <your key space name>- описує команду, яка використовується для створення простору клавіш

cqlsh> DESCRIBE тестовий простір;

Створіть тестовий простір KEYSPACE з реплікацією = {'class': 'SimpleStrategy', 'replication_factor': '3'} AND durable_writes = true;

  • ОПИСАННЯ просторів клавіш - перераховує всі простори клавіш

cqlsh> ОПИСАННЯ КЛЮЧІВ

system_schema system testkeyspace system_auth
system_distributed system_traces

  • ОПИСАННІ ТАБЛИЦІ - Список усіх таблиць у поточному просторі клавіш

cqlsh: system> ОПИСАННЯ ТАБЛИЦІВ;

available_ranges peers paxos
range_xfers партії compaction_history batchlog
local "IndexInfo" sstable_activity
size_estimates hints views_builds_in_progress peer_events
build_views

  • DESCRIBE your table nameor DESCRIBE TABLE your table name- дає дані про таблицю

cqlsh: system> ОПИСАТИ пакетний журнал TABLE

CREATE TABLE system.batchlog (id uuid PRIMARY KEY, блок даних, версія int, написана_at часова марка) With bloom_filter_fp_chance = 0.01 І кешування = {'ключі': 'ALL', 'rows_per_partition': 'NONE'} AND comment = ' DEPRECATED batchlog записи '.... опущені для стислості


4

DESC KEYSPACES зробить цю роботу.

Також якщо ви хочете описати схему певного простору клавіш, яку ви можете використовувати

DESC



2

Щоб побачити всі простори клавіш на сервері баз даних Apache Cassandra NoSQL, використовуйте команду:

> DESCRIBE KEYSPACES 



1

Я пропоную комбінацію grepта awk:

root@DC1-Node1:/home# nodetool tablestats | grep "Keyspace :" | awk -F ":" '{print $2}'
 system_traces
 system
 system_distributed
 system_schema
 device_tool
 system_tool

дякую за відповідь, але найпростіший спосіб перегляду просторів клавіш - це використання команди «ОПИСИСЬ простір ключів». Не потрібно гребіти і хитатися.
Шехар

0

Крім описаного вище способу, якщо у вас встановлений opscenter,

  1. Перейдіть на вкладку "Дані"> там ви побачите всі створені вами певні клавіші та деякі системні простори клавіш.
  2. Ви можете бачити всі таблиці в окремих просторах клавіш, а також коефіцієнт реплікатора для простору клавіш.

Детальніше дивіться нижче за посиланням. https://docs.datastax.com/en/opscenter/6.1/opsc/online_help/opscDataModelingManagingKeyspace_t.html


0
  1. увійти до cqlsh

  2. використовувати команду нижче, щоб отримати імена / список присутніх просторів клавіш

         SELECT keyspace_name FROM system_schema.keyspaces;
    

1
це залежить від версії Кассандри ... Також, чим ця відповідь відрізняється від попередньої?
Алекс Отт

-1

Опис і команда desc нададуть список просторів клавіш у кластері. Для отримання детальної інформації знайдіть нижче вихід.

cqlsh> describe keyspaces
reaper_db      system_auth  system_distributed
system_schema  system       system_traces

АБО

cqlsh> desc keyspaces
reaper_db      system_auth  system_distributed
system_schema  system       system_traces

чим ваша відповідь відрізняється від інших відповідей? Також - ці команди працюють лише у cqlshвсіх
Алекс Отт

cassandra @ node1: ~ $ nodetool стільниці | grep "Keyspace:" Keyspace: reaper_db Keyspace: system_traces Keyspace: system Keyspace: system_distributed Keyspace: system_schema Keyspace: system_auth cassandra @ node1: ~ $
Srikant Patra

Є щонайменше 4 відповіді, в яких перераховані однакові команди для cqlsh
Alex Ott
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.