Bagaimana cara membuat daftar semua ruang tombol yang tersedia di Cassandra?

174

Saya pemula di Cassandra dan mencoba menerapkan satu aplikasi mainan menggunakan Cassandra. Saya telah membuat satu ruang tombol dan beberapa keluarga kolom di Cassandra DB saya, tetapi saya lupa nama cluster saya.

Saya mencoba mencari apakah ada kueri yang dapat mencantumkan semua ruang kunci yang tersedia.

Adakah yang tahu permintaan atau perintah seperti itu?

Shekhar
sumber
9
C * 3.x : SELECT * FROM system_schema.keyspaces;
belgacea
Jawaban ini sudah usang. Jawaban yang benar ada di sini, masukkan uraian tautan di sini
Vinaya Thimmappa

Jawaban:

96

Jika Anda ingin melakukan ini di luar cqlshalat Anda dapat meminta schema_keyspacestabel di ruang systemkunci. Ada juga tabel yang disebut schema_columnfamiliesyang berisi informasi tentang semua tabel.

The DESCRIBEdan SHOWperintah hanya bekerja di cqlshdan cassandra-cli.

Theo
sumber
341

[cqlsh 4.1.0 | Cassandra 2.0.4 | CQL spec 3.1.1 | Protokol penghematan 19.39.0]

Saat ini, perintah untuk digunakan adalah:

DESCRIBE keyspaces;
Marco Ponzi
sumber
10
Terima ini sebagai jawaban! Dan omong-omong, output akan mencetak beberapa nama keyspace dalam satu baris.
Eric Wang
3
Cassandra juga mengizinkan perintah tangan pendek seperti pada: DESC keyspaces
Hari
30

Sangat sederhana. Cukup berikan perintah di bawah ini untuk mendaftar semua spasi kunci.

Cqlsh> Jelaskan ruang tombol;

Jika Anda ingin memeriksa keyspace dalam skema sistem menggunakan query SQL

di bawah ini adalah perintahnya.

SELECT * FROM system_schema.keyspaces;

Semoga ini akan menjawab pertanyaan Anda ...

Anda dapat membaca penjelasan tentang memahami dan membuat keypaces dari sumber daya di bawah ini.

Dokumentasi:

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
sumber
13

Ditemukan ... show keyspacesperintah mencantumkan semua spasi kunci. Saya pikir sebelumnya ketika saya mencoba perintah ini, saya lupa untuk memberikan 'in' keyspaces 'terakhir

Shekhar
sumber
8
Anda dapat menggunakan penyelesaian tab untuk melihat petunjuk tentang cara menyelesaikan perintah cassandra-cli atau cqlsh. Itu mungkin bermanfaat bagi Anda jika Anda lupa sintaksisnya. Misalnya, cukup ketik "tampilkan" dan kemudian tab untuk melihat perintah acara yang valid.
Ike Walker
3
Poin kedua dalam jawaban Anda adalah (bagi sebagian orang) bagian yang paling berharga dari jawaban tersebut. Hal-hal bekerja sangat berbeda antara "cqlsh" dan "cassandra-cli" (dan poster pertanyaan tidak menunjukkan yang dia gunakan). tampilkan ruang tombol; menggambarkan (nama keyspace). CATATAN: Jika seseorang menggunakan "cqlsh", itu membutuhkan tanda kutip di sekitar nama campuran atau huruf besar dalam ruang keyspace atau kolom keluarga (OK, poster tidak menanyakan ini tetapi itu adalah kesalahan pengguna yang umum jika baru ke C *)
Scott Prive
5

Setelah login ke cqlsh atau cassandra-cli. jalankan perintah di bawah ini

  • Tentang cqlsh

desc keyspaces;

atau

describe keyspaces;

atau

select * from system_schema.keyspaces;

  • Di cassandra-cli

show keyspaces;

LetsNoSQL
sumber
4

The DESCRIBEperintah adalah teman Anda. Anda bisa mendeskripsikan satu keyspace, daftar keyspaces, satu tabel atau daftar semua tabel di keyspace, cluster dan banyak lagi. Anda bisa mendapatkan ide lengkap dengan mengetik

HELP DESCRIBE dalam cqlsh.

Terhubung ke mscluster di 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.8 | CQL spec 3.4.2 | Native protocol v4] Gunakan BANTUAN untuk bantuan.

cqlsh> BANTUAN 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>- menjelaskan perintah yang digunakan untuk membuat keyspace

cqlsh> DESCRIBE testkeyspace;

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

  • DESCRIBE keyspaces - mencantumkan semua spasi kunci

cqlsh> DESCRIBE KEYSPACES

system_schema system testkeyspace system_auth
system_distributed system_traces

  • DESCRIBE TABLES - Daftar semua tabel di keyspace saat ini

cqlsh: system> DESCRIBE TABLES;

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

  • DESCRIBE your table nameatau DESCRIBE TABLE your table name- Memberikan detail tabel

cqlsh: system> DESCRIBE TABLE batchlog

CREATE TABLE system.batchlog (id UUID PRIMARY KEY, Data gumpalan, versi int, written_at timestamp) DENGAN bloom_filter_fp_chance = 0.01 DAN caching = { 'kunci': 'SEMUA', 'rows_per_partition': 'NONE'} DAN comment = ' BERLAKU LAGI batchlog entri .... dihilangkan untuk singkatnya

pembantu
sumber
4

KEYPACES DESC akan melakukan pekerjaan.

Juga, Jika Anda ingin menggambarkan skema ruang kunci tertentu yang dapat Anda gunakan

DESC

DataJanitor
sumber
2
  1. masuk ke cqlsh
  2. desc keyspaces;
  3. pilih * dari system_schema.keyspaces;
Jay Tokala
sumber
2

Untuk melihat semua ruang tombol pada Apache Cassandra NoSQL Database Server Anda gunakan perintah:

> DESCRIBE KEYSPACES 
Suman Gangopadhyay
sumber
1

desc keyspaces akan melakukannya untuk Anda.

Chakri Stark
sumber
1

Saya menyarankan kombinasi grepdan 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
sumber
terima kasih atas jawabannya tetapi cara paling sederhana untuk melihat keyspaces adalah dengan menggunakan perintah "DESCRIBE keyspace". Tidak perlu grep dan awk.
Shekhar
0
  1. masuk ke cqlsh

  2. gunakan perintah di bawah ini untuk mendapatkan nama / daftar keypaces yang ada

         SELECT keyspace_name FROM system_schema.keyspaces;
    
Suparna Raut
sumber
1
itu tergantung pada versi Cassandra ... Juga, bagaimana jawaban ini berbeda dari sebelumnya?
Alex Ott
-1

menjelaskan dan perintah desc akan memberikan daftar keypaces di cluster. Silakan menemukan output di bawah ini untuk lebih jelasnya.

cqlsh> describe keyspaces
reaper_db      system_auth  system_distributed
system_schema  system       system_traces

ATAU

cqlsh> desc keyspaces
reaper_db      system_auth  system_distributed
system_schema  system       system_traces
Srikant Patra
sumber
bagaimana jawaban Anda berbeda dari jawaban lain? Juga - perintah ini hanya berfungsi cqlsh, tidak di mana-mana ...
Alex Ott
cassandra @ node1: ~ $ nodetool tablestats | grep "Keyspace:" Keyspace: reaper_db Keyspace: system_traces Keyspace: system Keyspace: system_distributed Keyspace: system_schema Keyspace: system_auth cassandra @ node1: ~ $
Srikant Patra
Setidaknya ada 4 jawaban yang mencantumkan perintah yang sama untuk cqlsh
Alex Ott