Come elencare tutti gli spazi chiave disponibili in Cassandra?


174

Sono un principiante in Cassandra e sto cercando di implementare un'applicazione giocattolo usando Cassandra. Avevo creato uno spazio chiavi e poche famiglie di colonne nel mio DB Cassandra ma ho dimenticato il nome del mio cluster.

Sto cercando di scoprire se esiste una query in grado di elencare tutti gli spazi chiave disponibili.

Qualcuno conosce una tale query o comando?


9
C * 3.x : SELEZIONA * DA system_schema.keyspaces;
belgacea,

Questa risposta è obsoleta. La risposta corretta è qui inserire la descrizione del collegamento qui
Vinaya Thimmappa,

Risposte:


96

Se si desidera eseguire questa operazione all'esterno dello cqlshstrumento, è possibile eseguire una query sulla schema_keyspacestabella nello systemspazio delle chiavi. C'è anche una tabella chiamata schema_columnfamiliesche contiene informazioni su tutte le tabelle.

I comandi DESCRIBEe SHOWfunzionano solo in cqlshe cassandra-cli.


342

[cqlsh 4.1.0 | Cassandra 2.0.4 | Specifiche CQL 3.1.1 | Protocollo di risparmio 19.39.0]

Attualmente, il comando da utilizzare è:

DESCRIBE keyspaces;

10
Accetta questo come risposta! A proposito, l'output stamperebbe più nomi di spazi chiave in una riga.
Eric Wang,

3
Cassandra consente anche un comando abbreviato come in: spazi chiave DESC
Hari

30

È molto semplice. Basta dare il comando seguente per elencare tutti gli spazi chiave.

Cqlsh> Descrivi gli spazi chiave;

Se si desidera controllare lo spazio delle chiavi nello schema di sistema utilizzando la query SQL

sotto è il comando.

SELECT * FROM system_schema.keyspaces;

Spero che questo risponda alla tua domanda ...

Puoi consultare la spiegazione sulla comprensione e la creazione degli spazi chiave dalle risorse sottostanti.

Documentazione:

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

Trovato ... show keyspaceselenca tutti gli spazi chiave. Penso prima quando ho provato questo comando, ho dimenticato di dare gli ultimi 's' in 'spazi chiave'


8
È possibile utilizzare il completamento della scheda per visualizzare suggerimenti su come completare un comando cassandra-cli o cqlsh. Potrebbe esserti utile se dimentichi la sintassi. Ad esempio, basta digitare "show" e quindi la scheda per vedere i comandi show validi.
Ike Walker,

3
Il punto secondario nella tua risposta sarà (per alcune persone) la parte più preziosa della risposta. Le cose funzionano molto diversamente tra "cqlsh" e "cassandra-cli" (e il poster della domanda non indica quale sta usando). mostra spazi chiave; descrivi (nome spazio chiave). NOTA: se si utilizza "cqlsh", sono necessarie le virgolette intorno a tutti i nomi misti o maiuscoli in uno spazio di chiavi o in una famiglia di colonne (OK, il poster non lo ha chiesto ma si tratta di un errore utente comune se non si conosce C *)
Scott Prive

5

Una volta effettuato l'accesso a cqlsh o cassandra-cli. esegui sotto i comandi

  • Su cqlsh

desc keyspaces;

o

describe keyspaces;

o

select * from system_schema.keyspaces;

  • Su cassandra-cli

show keyspaces;


4

Il DESCRIBEcomando è tuo amico. È possibile descrivere uno spazio chiavi, elencare spazi chiave, una tabella o elencare tutte le tabelle nello spazio chiavi, il cluster e molto altro. Puoi avere un'idea completa digitando

HELP DESCRIBE in cqlsh.

Collegato a mscluster a 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.8 | Specifiche CQL 3.4.2 | Native protocol v4] Utilizzare HELP per assistenza.

cqlsh> AIUTO DESCRIVERE

    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>
  • DESCRIVERE <your key space name>: descrive il comando utilizzato per creare lo spazio chiavi

cqlsh> DESCRIVERE testkeyspace;

CREATE KEYSPACE testkeyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '3'} AND lasting_writes = true;

  • DESCRIBE spazi chiave: elenca tutti gli spazi chiave

cqlsh> DESCRIVERE SPAZI CHIAVE

system_schema system testkeyspace system_auth
system_distributed system_traces

  • DESCRIVERE TABELLE - Elenca tutte le tabelle nello spazio delle chiavi corrente

cqlsh: system> DESCRIBE TABLES;

available_ranges peer paxos
range_xfers batch compaction_history batchlog
locale "IndexInfo" sstable_activity
size_estimates hints views_builds_in_progress peer_events
built_views

  • DESCRIBE your table nameo DESCRIBE TABLE your table name- Fornisce i dettagli della tabella

cqlsh: system> DESCRIBE TABLE batchlog

CREATE TABLE system.batchlog (id UUID PRIMARY KEY, blob dei dati, la versione int, written_at timestamp) CON bloom_filter_fp_chance = 0.01 e il caching = { 'chiavi': 'All', 'rows_per_partition': 'Nessuno'} e commentare = ' DISAPPROVATO batchlog voci ".... omesse per brevità


4

DESC KEYSPACES farà il lavoro.

Inoltre, se si desidera descrivere lo schema di un particolare spazio chiave, è possibile utilizzare

DESC


2
  1. accedi a cqlsh
  2. spazi chiave desc;
  3. seleziona * da system_schema.keyspaces;

2

Per visualizzare tutti gli spazi chiave sul server database NoSQL di Apache Cassandra, utilizzare il comando:

> DESCRIBE KEYSPACES 



1

Suggerisco una combinazione di grepe awk:

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

grazie per la risposta, ma il modo più semplice di vedere gli spazi chiave è usare il comando "DESCRIBE keyspace". Non c'è bisogno di grep e awk.
Shekhar,


0
  1. accedi a cqlsh

  2. utilizzare il comando seguente per ottenere nomi / elenco di spazi chiave presenti

         SELECT keyspace_name FROM system_schema.keyspaces;
    

1
dipende dalla versione di Cassandra ... Inoltre, come questa risposta è diversa dalla precedente?
Alex Ott,

-1

Il comando descrive e descriverà un elenco di spazi chiave nel cluster. Per ulteriori dettagli, consultare l'output di seguito.

cqlsh> describe keyspaces
reaper_db      system_auth  system_distributed
system_schema  system       system_traces

O

cqlsh> desc keyspaces
reaper_db      system_auth  system_distributed
system_schema  system       system_traces

in che modo la tua risposta è diversa dalle altre risposte? Inoltre - questi comandi funzionano solo cqlsh, non ovunque ...
Alex Ott,

cassandra @ node1: ~ $ tablestats nodetool | grep "Keyspace:" Keyspace: reaper_db Keyspace: system_traces Keyspace: system Keyspace: system_distributed Keyspace: system_schema Keyspace: system_auth cassandra @ node1: ~ $
Srikant Patra

Ci sono almeno 4 risposte che elencano gli stessi comandi per cqlsh
Alex Ott,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.