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?


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.


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;

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/


13

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


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;


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


4

KEYPACES DESC akan melakukan pekerjaan.

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

DESC


2
  1. masuk ke cqlsh
  2. desc keyspaces;
  3. pilih * dari system_schema.keyspaces;

2

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

> DESCRIBE KEYSPACES 



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

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;
    

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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.