Cassandraで使用可能なすべてのキースペースを一覧表示する方法は?


174

私はCassandraの初心者で、Cassandraを使用して1つのおもちゃアプリケーションを実装しようとしています。Cassandra DBに1つのキースペースといくつかの列ファミリーを作成しましたが、クラスターの名前を忘れました。

利用可能なすべてのキースペースを一覧表示できるクエリがあるかどうかを確認しようとしています。

誰かがそのようなクエリやコマンドを知っていますか?


9
C * 3.x:SELECT * FROM system_schema.keyspaces;
ベルギー2016

この回答は古くなっています。正しい答えはここにありますリンクの説明
Vinaya Thimmappa

回答:


96

cqlshツールの外部でこれを実行する場合schema_keyspacesは、systemキースペースでテーブルをクエリできます。schema_columnfamiliesすべてのテーブルに関する情報を含むというテーブルもあります。

DESCRIBEそしてSHOWコマンドは、のみでの作業cqlshcassandra-cli


340

[cqlsh 4.1.0 | Cassandra 2.0.4 | CQL仕様3.1.1 | Thriftプロトコル19.39.0]

現在、使用するコマンドは次のとおりです。

DESCRIBE keyspaces;

10
これを回答として受け入れてください!ちなみに、出力では複数のキースペース名が1行に出力されます。
Eric Wang

3
Cassandraでは、次のように省略形のコマンドも使用できます。DESCキースペース
Hari

30

とてもシンプルです。すべてのキースペースを一覧表示するには、以下のコマンドを入力してください。

Cqlsh>キースペースについて説明します。

SQLクエリを使用してシステムスキーマのキースペースを確認する場合

以下はコマンドです。

SELECT * FROM system_schema.keyspaces;

これがあなたの質問に答えることを願っています...

以下のリソースから、キースペースの理解と作成に関する説明を読むことができます。

ドキュメンテーション:

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

Found it ... show keyspacesコマンドは、すべてのキースペースを一覧表示します。以前にこのコマンドを試したとき、「キースペース」の最後の「s」を与えるのを忘れていたと思います


8
タブ補完を使用して、cassandra-cliまたはcqlshコマンドを完了する方法に関するヒントを表示できます。構文を忘れた場合に役立ちます。たとえば、「show」と入力してからタブを押すと、有効なshowコマンドが表示されます。
Ike Walker

3
回答の2番目のポイントは、(一部の人にとって)回答の最も価値のある部分になるでしょう。「cqlsh」と「cassandra-cli」では、物事の動作が大きく異なります(質問の投稿者は、彼が使用していることを示していません)。キースペースを表示します。(キースペース名)を記述します。注:「cqlsh」を使用している場合、キースペースまたは列ファミリー内の混合または大文字の名前を引用符で囲む必要があります(OK、投稿者はこれを要求しませんでしたが、C *を初めて使用する場合は一般的なユーザーエラーです)
Scott Prive

5

cqlshまたはcassandra-cliにログインしたら、コマンドの下で実行

  • cqlshで

desc keyspaces;

または

describe keyspaces;

または

select * from system_schema.keyspaces;

  • cassandra-cliについて

show keyspaces;


4

DESCRIBEコマンドはあなたの友達です。1つのキースペース、キースペース、1つのテーブル、またはキースペース、クラスターなどのすべてのテーブルを記述できます。次のように入力して、完全なアイデアを得ることができます

HELP DESCRIBE cqlshで。

127.0.0.1:9042でmsclusterに接続されています。[cqlsh 5.0.1 | Cassandra 3.8 | CQL仕様3.4.2 | ネイティブプロトコルv4]ヘルプはヘルプを使用してください。

cqlsh>ヘルプの説明

    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>キースペースの作成に使用されるコマンドについて説明しています

cqlsh> DESCRIBE testkeyspace;

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

  • DESCRIBE keyspaces-すべてのキースペースを一覧表示します

cqlsh> DESCRIBEキースペース

system_schemaシステムtestkeyspace system_auth
system_distributed system_traces

  • DESCRIBE TABLES-現在のキースペースのすべてのテーブルを一覧表示します

cqlsh:system> DESCRIBE TABLES;

available_ranges peers
paxos range_xfers batches compaction_history batchlog
local "IndexInfo" sstable_activity
size_estimates hints views_builds_in_progress peer_events
built_views

  • DESCRIBE your table nameまたはDESCRIBE TABLE- your table nameテーブルの詳細を示します

cqlsh:system> DESCRIBE TABLEバッチログ

CREATE TABLE system.batchlog(id uuid PRIMARY KEY、data blob、version int、written_at timestamp)WITH bloom_filter_fp_chance = 0.01 AND cache = {'keys': 'ALL'、 'rows_per_partition': 'NONE'} AND comment = ' DEPRECATED batchlogエントリ '....簡潔にするために省略


4

DESC 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キースペース」コマンドを使用することです。grepやawkする必要はありません。
シェカール

0

上記の方法とは別に、opscenterがインストールされている場合は、

  1. [データ]タブに移動します。そこには、自分で作成したすべてのキースペースといくつかのシステムキースペースが表示されます。
  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
それはCassandraのバージョンに依存します...また、この答えは以前とどのように異なりますか?
Alex Ott

-1

describeと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:system Keyspace:system_distributed Keyspace:system_schema Keyspace:system_auth cassandra @ node1:〜$
Srikant Patra

cqlshと同じコマンドをリストする少なくとも4つの回答があります
Alex Ott
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.