วิธีการระบุรายการพื้นที่ว่างที่มีอยู่ทั้งหมดใน Cassandra?


174

ฉันเป็นมือใหม่ใน Cassandra และพยายามใช้แอปพลิเคชันของเล่นหนึ่งรายการโดยใช้ Cassandra ฉันได้สร้างหนึ่งสเปซคีย์และตระกูลคอลัมน์น้อยใน Cassandra DB ของฉัน แต่ฉันลืมชื่อของคลัสเตอร์

ฉันพยายามค้นหาว่ามีข้อสงสัยใด ๆ หรือไม่ที่สามารถแสดงรายการ keyspaces ที่มีอยู่ทั้งหมดได้

มีใครรู้เช่นคำสั่งหรือคำสั่ง?


9
C * 3.x : SELECT * จาก system_schema.keyspaces;
belgacea

คำตอบนี้ล้าสมัยแล้ว คำตอบที่ถูกต้องอยู่ที่นี่ป้อนคำอธิบายลิงก์ที่นี่
Vinaya Thimmappa

คำตอบ:


96

หากคุณต้องการทำสิ่งนี้นอกcqlshเครื่องมือคุณสามารถสืบค้นschema_keyspacesตารางในsystemkeyspace นอกจากนี้ยังมีตารางที่เรียกว่าschema_columnfamiliesซึ่งมีข้อมูลเกี่ยวกับตารางทั้งหมด

DESCRIBEและSHOWคำสั่งการทำงานเฉพาะในและcqlshcassandra-cli


340

[cqlsh 4.1.0 | Cassandra 2.0.4 | ข้อมูลจำเพาะ CQL 3.1.1 | โปรโตคอลการละทิ้งงาน 19.39.0]

ปัจจุบันคำสั่งที่ใช้คือ:

DESCRIBE keyspaces;

10
ยอมรับสิ่งนี้เป็นคำตอบ! และโดยวิธีการส่งออกจะพิมพ์ชื่อหลายพื้นที่สำคัญในหนึ่งบรรทัด
Eric Wang

3
คาสซานดราอนุญาตให้ใช้คำสั่งแบบสั้นเช่นเดียวกับใน: พื้นที่แป้นพิมพ์ DESC
Hari

30

มันง่ายมาก เพียงแค่ให้คำสั่งด้านล่างสำหรับรายการ keyspaces ทั้งหมด

Cqlsh> อธิบาย keyspaces;

หากคุณต้องการตรวจสอบ keyspace ในสคีมาของระบบโดยใช้แบบสอบถาม SQL

ด้านล่างเป็นคำสั่ง

SELECT * FROM system_schema.keyspaces;

หวังว่านี่จะตอบคำถามของคุณ ...

คุณสามารถอ่านคำอธิบายเกี่ยวกับการทำความเข้าใจและสร้างพื้นที่คีย์ได้จากแหล่งข้อมูลด้านล่าง

เอกสารอ้างอิง:

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


13

พบมัน ... show keyspacesคำสั่งแสดงรายการพื้นที่สำคัญทั้งหมด ฉันคิดว่าก่อนหน้านี้เมื่อฉันลองใช้คำสั่งนี้ฉันลืมที่จะให้ 'สุดท้าย' ใน 'พื้นที่สำคัญ'


8
คุณสามารถใช้การเติมเต็มของแท็บเพื่อดูคำแนะนำเกี่ยวกับวิธีทำให้คำสั่ง cassandra-cli หรือ cqlsh ให้สมบูรณ์ อาจเป็นประโยชน์กับคุณถ้าคุณลืมไวยากรณ์ ตัวอย่างเช่นเพียงพิมพ์ "show" แล้วคลิกแท็บเพื่อดูคำสั่ง show ที่ถูกต้อง
Ike Walker

3
ประเด็นที่สองในคำตอบของคุณจะเป็นส่วนที่มีค่าที่สุดของคำตอบ (สำหรับบางคน) สิ่งต่าง ๆ ทำงานได้แตกต่างกันมากระหว่าง "cqlsh" และ "cassandra-cli" (และโปสเตอร์คำถามไม่ได้ระบุว่าเขาใช้อะไรอยู่) แสดงพื้นที่สำคัญ; อธิบาย (ชื่อ keyspace) หมายเหตุ: หากมีใครใช้ "cqlsh" มันต้องมีเครื่องหมายคำพูดล้อมรอบชื่อตัวพิมพ์ใหญ่หรือตัวพิมพ์ใหญ่ใน keyspace หรือคอลัมน์ครอบครัว (ตกลงโปสเตอร์ไม่ได้ถามสิ่งนี้ แต่เป็นข้อผิดพลาดทั่วไปของผู้ใช้ถ้าใหม่กับ C *)
Scott Prive

5

เมื่อเข้าสู่ cqlsh หรือ cassandra-cli เรียกใช้คำสั่งด้านล่าง

  • บน cqlsh

desc keyspaces;

หรือ

describe keyspaces;

หรือ

select * from system_schema.keyspaces;

  • เมื่อคาสซานดรา - คลี

show keyspaces;


4

DESCRIBEคำสั่งเป็นเพื่อนของคุณ คุณสามารถอธิบายหนึ่ง keyspace, รายการ keyspaces, หนึ่งตารางหรือรายการตารางทั้งหมดใน keyspace, คลัสเตอร์และอีกมากมาย คุณสามารถรับแนวคิดเต็มรูปแบบได้โดยพิมพ์

HELP DESCRIBE ใน cqlsh

เชื่อมต่อกับ mscluster ที่ 127.0.0.1:9042 [cqlsh 5.0.1 | Cassandra 3.8 | CQL spec 3.4.2 | Native protocol v4] ใช้ความช่วยเหลือเพื่อขอความช่วยเหลือ

cqlsh> ช่วยเหลือ 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>- อธิบายคำสั่งที่ใช้ในการสร้าง keyspace

cqlsh> DESCRIBE testkeyspace;

สร้าง KEYSPACE testkeyspace พร้อมการจำลองแบบ = {'class': 'SimpleStrategy', 'replication_factor': '3'} และ durable_writes = true;

  • DESCRIBE keyspaces - แสดงรายการ keyspaces ทั้งหมด

cqlsh> คำอธิบายคีย์สเปซ

system_schema ระบบ testkeyspace system_auth
system_distributed system_traces

  • DESCRIBE TABLES - แสดงรายการตารางทั้งหมดใน keyspace ปัจจุบัน

cqlsh: ระบบ> ตาราง DESCRIBE;

available_ranges peers paxos
range_xfers batches compaction_history batchlog
ท้องถิ่น "IndexInfo" sstable_activity
size_estimates คำแนะนำ views_builds_in_progress peer_events
built_views

  • DESCRIBE your table nameหรือ DESCRIBE TABLE your table name- ให้รายละเอียดของตาราง

cqlsh: ระบบ> แบตช์ล็อกคำอธิบายตาราง

สร้างตาราง system.batchlog (รหัส UUID คีย์หลักหยดข้อมูลรุ่น int, written_at ประทับเวลา) กับ bloom_filter_fp_chance = 0.01 และแคช = { 'คีย์': 'ทั้งหมด', 'rows_per_partition': 'ไม่มี'} และแสดงความคิดเห็น = ' เลิก 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

ขอบคุณสำหรับคำตอบ แต่วิธีที่ง่ายที่สุดในการดูพื้นที่สำคัญคือการใช้คำสั่ง "DESCRIBE keyspace" ไม่จำเป็นต้อง grep และ awk
Shekhar

0

นอกเหนือจากวิธีการข้างต้นหากคุณติดตั้ง opscenter

  1. ไปที่แท็บ data> ที่นั่นคุณจะเห็น keyspcaces ทั้งหมดที่คุณสร้างขึ้นและ keyspaces ของระบบบางส่วน
  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
มันขึ้นอยู่กับเวอร์ชั่นของคาสซานดรา ... อีกทั้งคำตอบนี้แตกต่างจากครั้งก่อนอย่างไร?
Alex Ott

-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ไม่ใช่ทุกที่ ...
Alex Ott

Cassandra @ node1: ~ $ nodetool tablestats | grep "Keyspace:" Keyspace: reaper_db Keyspace: system_traces Keyspace: ระบบ Keyspace: system_distributed Keyspace: system_schema Keyspace: system_auth Cassandra @ node1: ~ $
Srikant Patra

มีคำตอบอย่างน้อย 4 คำที่แสดงรายการคำสั่งเดียวกันสำหรับ cqlsh
Alex Ott
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.