Jak wyświetlić listę wszystkich dostępnych przestrzeni kluczowych w Cassandrze?

174

Jestem nowicjuszem w Cassandrze i próbuję zaimplementować jedną aplikację zabawkową za pomocą Cassandry. Utworzyłem jedną przestrzeń kluczy i kilka rodzin kolumn w mojej bazie danych Cassandra, ale zapomniałem nazwy mojego klastra.

Próbuję sprawdzić, czy jest jakieś zapytanie, które może wyświetlić wszystkie dostępne obszary kluczy.

Czy ktoś zna takie zapytanie lub polecenie?

Shekhar
źródło
9
C * 3.x : SELECT * FROM system_schema.keyspaces;
belgacea
Ta odpowiedź jest nieaktualna. Prawidłowa odpowiedź jest tutaj wprowadź opis linku tutaj
Vinaya Thimmappa

Odpowiedzi:

96

Jeśli chcesz to zrobić poza cqlshnarzędziem, możesz wysłać zapytanie do schema_keyspacestabeli w obszarze systemkluczy. Istnieje również tabela o nazwie, schema_columnfamiliesktóra zawiera informacje o wszystkich tabelach.

DESCRIBEI SHOWpolecenia działają tylko w cqlshi cassandra-cli.

Theo
źródło
340

[cqlsh 4.1.0 | Cassandra 2.0.4 | Specyfikacja CQL 3.1.1 | Protokół Thrift 19.39.0]

Obecnie polecenie do użycia to:

DESCRIBE keyspaces;
Marco Ponzi
źródło
10
Zaakceptuj to jako odpowiedź! A tak przy okazji, wynik wypisałby wiele nazw przestrzeni kluczy w jednym wierszu.
Eric Wang
3
Cassandra zezwala również na komendę krótką ręką, jak w: Przestrzenie klawiszy DESC
Hari
30

To jest bardzo proste. Po prostu podaj poniższe polecenie, aby wyświetlić wszystkie przestrzenie klawiszy.

Cqlsh> Opisz przestrzenie kluczy;

Jeśli chcesz sprawdzić obszar kluczy w schemacie systemu za pomocą zapytania SQL

poniżej jest polecenie.

SELECT * FROM system_schema.keyspaces;

Mam nadzieję, że to odpowie na twoje pytanie ...

Możesz przejść przez wyjaśnienie dotyczące zrozumienia i tworzenia kluczowych przestrzeni z poniższych zasobów.

Dokumentacja:

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

Prasu
źródło
13

Znaleziono to ... show keyspacespolecenie wyświetla listę wszystkich przestrzeni klawiszy. Myślę, że wcześniej, kiedy próbowałem tego polecenia, zapomniałem podać ostatnie „s” w „przestrzeniach klawiszy”

Shekhar
źródło
8
Możesz użyć uzupełniania tabulatorów, aby zobaczyć wskazówki dotyczące wykonywania polecenia cassandra-cli lub cqlsh. Może to być pomocne, jeśli zapomnisz składni. Na przykład po prostu wpisz „show”, a następnie tabulator, aby zobaczyć prawidłowe polecenia show.
Ike Walker,
3
Drugi punkt w twojej odpowiedzi będzie (dla niektórych osób) najcenniejszą częścią odpowiedzi. Rzeczy działają zupełnie inaczej w przypadku "cqlsh" i "cassandra-cli" (a plakat z pytaniem nie wskazuje, którego używa). pokaż przestrzenie klawiszy; opisać (nazwa przestrzeni kluczy). UWAGA: Jeśli ktoś używa "cqlsh", wymaga cudzysłowów wokół wszelkich nazw mieszanych lub wielkich liter w obszarze klawiszy lub w rodzinie kolumn (OK, plakat nie pytał o to, ale jest to częsty błąd użytkownika, jeśli nowy w C *)
Scott Prive
5

Po zalogowaniu się do cqlsh lub cassandra-cli. uruchom poniższe polecenia

  • Na cqlsh

desc keyspaces;

lub

describe keyspaces;

lub

select * from system_schema.keyspaces;

  • W cassandra-cli

show keyspaces;

LetsNoSQL
źródło
4

DESCRIBEKomenda jest twoim przyjacielem. Możesz opisać jedną przestrzeń kluczy, listę przestrzeni kluczy, jedną tabelę lub wyświetlić wszystkie tabele w obszarze kluczy, klaster i wiele więcej. Możesz uzyskać pełny pomysł, wpisując

HELP DESCRIBE w cqlsh.

Połączono z mscluster pod adresem 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3,8 | Specyfikacja CQL 3.4.2 | Natywny protokół v4] Użyj HELP, aby uzyskać pomoc.

cqlsh> HELP DESCRIBE

    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>- opisuje polecenie używane do tworzenia przestrzeni kluczy

cqlsh> DESCRIBE testkeyspace;

UTWÓRZ KEYSPACE testkeyspace Z replication = {'class': 'SimpleStrategy', 'replication_factor': '3'} AND Durable_writes = true;

  • DESCRIBE przestrzenie kluczy - wyświetla wszystkie przestrzenie kluczy

cqlsh> OPISUJ PRZESTRZEŃ KLAWISZY

system_schema system testkeyspace system_auth
system_distributed system_traces

  • DESCRIBE TABLES - wyświetla wszystkie tabele w bieżącym obszarze kluczy

cqlsh: system> DESCRIBE TABLES;

available_ranges peers paxos
range_xfers partie compaction_history batchlog
lokalna "IndexInfo" sstable_activity
size_estimates wskazówki views_builds_in_progress peer_events
built_views

  • DESCRIBE your table namelub DESCRIBE TABLE your table name- podaje szczegóły tabeli

cqlsh: system> DESCRIBE TABLE batchlog

UTWÓRZ TABELĘ system.batchlog (identyfikator uuid KLUCZ PODSTAWOWY, blob danych, wersja int, sygnatura czasowa write_at) Z bloom_filter_fp_chance = 0.01 AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'} AND comment = ' DEPRECATED batchlog wpisy „.... pominięte ze względu na zwięzłość

totumfacki
źródło
4

DESC KEYSPACES zrobi to.

Ponadto, jeśli chcesz opisać schemat konkretnego obszaru kluczy, możesz użyć

DESC

DataJanitor
źródło
2
  1. zaloguj się do cqlsh
  2. desc przestrzenie klawiszy;
  3. wybierz * z system_schema.keyspaces;
Jay Tokala
źródło
2

Aby wyświetlić wszystkie obszary kluczy na serwerze bazy danych Apache Cassandra NoSQL, użyj polecenia:

> DESCRIBE KEYSPACES 
Suman Gangopadhyay
źródło
1

desc keyspaces zrobi to za Ciebie.

Chakri Stark
źródło
1

Proponuję połączenie grepi awk:

root@DC1-Node1:/home# nodetool tablestats | grep "Keyspace :" | awk -F ":" '{print $2}'
 system_traces
 system
 system_distributed
 system_schema
 device_tool
 system_tool
Mazhar Shaikh
źródło
dziękuję za odpowiedź, ale najprostszym sposobem zobaczenia przestrzeni klawiszy jest użycie polecenia „DESCRIBE keyspace”. Nie ma potrzeby grep i awk.
Shekhar
0

Oprócz powyższej metody, jeśli masz zainstalowany opscenter,

  1. Przejdź do zakładki danych> tam zobaczysz wszystkie utworzone przez Ciebie przestrzenie klawiszy i niektóre przestrzenie klawiszy systemu.
  2. Możesz zobaczyć wszystkie tabele w poszczególnych obszarach kluczy, a także współczynnik replikatora dla obszaru kluczy.

Aby uzyskać więcej informacji, sprawdź poniższy link. https://docs.datastax.com/en/opscenter/6.1/opsc/online_help/opscDataModelingManagingKeyspace_t.html

daljeet singh
źródło
0
  1. zaloguj się do cqlsh

  2. użyj poniższego polecenia, aby uzyskać nazwy / listę obecnych przestrzeni kluczy

         SELECT keyspace_name FROM system_schema.keyspaces;
    
Suparna Raut
źródło
1
to zależy od wersji Cassandry ... Poza tym, czym ta odpowiedź różni się od poprzedniej?
Alex Ott
-1

Opisy i opis polecenia podają listę przestrzeni kluczy w klastrze. Więcej szczegółów znajdziesz poniżej.

cqlsh> describe keyspaces
reaper_db      system_auth  system_distributed
system_schema  system       system_traces

LUB

cqlsh> desc keyspaces
reaper_db      system_auth  system_distributed
system_schema  system       system_traces
Srikant Patra
źródło
czym Twoja odpowiedź różni się od innych odpowiedzi? Poza tym - te polecenia działają tylko w cqlsh, nie wszędzie ...
Alex Ott
cassandra @ node1: ~ $ nodetool tablestats | grep "Przestrzeń kluczy:" Przestrzeń kluczy: reaper_db Przestrzeń kluczy: system_traces Przestrzeń kluczy: system Przestrzeń kluczy: dystrybucja systemu Przestrzeń kluczy: system_schema Przestrzeń kluczy: system_auth cassandra @ węzeł1: ~ $
Srikant Patra
Istnieją co najmniej 4 odpowiedzi, które zawierają te same polecenia dla cqlsh
Alex Ott