Velvet Star Monitor

Standout celebrity highlights with iconic style.

news

How to list all the available keyspaces in Cassandra?

Writer Olivia Zamora

I am newbie in Cassandra and trying to implement one toy application using Cassandra. I had created one keyspace and few column families in my Cassandra DB but I forgot the name of my cluster.

I am trying to find if there is any query which can list down all the available keyspaces.

Anybody knows such a query or command?

4

17 Answers

[cqlsh 4.1.0 | Cassandra 2.0.4 | CQL spec 3.1.1 | Thrift protocol 19.39.0]

Currently, the command to use is:

DESC[RIBE] keyspaces;
2

If you want to do this outside of the cqlsh tool you can query the schema_keyspaces table in the system keyspace. There's also a table called schema_columnfamilies which contains information about all tables.

The DESCRIBE and SHOW commands only work in cqlsh and cassandra-cli.

3

Its very simple. Just give the below command for listing all keyspaces.

Cqlsh> Describe keyspaces;

If you want to check the keyspace in the system schema using the SQL query

below is the command.

SELECT * FROM system_schema.keyspaces;

Hope this will answer your question...

You can go through the explanation on understanding and creating the keyspaces from below resources.

Documentation:

1

Found it...show keyspaces command lists down all the keyspaces. I think earlier when I tried this command, I forgot to give last 's' in 'keyspaces'

3

To see all the keyspaces on your Apache Cassandra NoSQL Database Server use the command:

> DESCRIBE KEYSPACES 
1

Once logged in to cqlsh or cassandra-cli. run below commands

  • On cqlsh

desc keyspaces;

or

describe keyspaces;

or

select * from system_schema.keyspaces;

  • On cassandra-cli

show keyspaces;

The DESCRIBE command is your friend. You can describe one keyspace, list keyspaces, one table or list all tables in keyspace, the cluster and much more. You can get the full idea by typing

HELP DESCRIBE in cqlsh.

Connected to mscluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.8 | CQL spec 3.4.2 | Native protocol v4] Use HELP for help.

cqlsh> HELP 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> - describes the command used to create keyspace

cqlsh> DESCRIBE testkeyspace;

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

  • DESCRIBE keyspaces - lists all keyspaces

cqlsh> DESCRIBE KEYSPACES

system_schema system testkeyspace system_auth
system_distributed system_traces

  • DESCRIBE TABLES - List all tables in current keyspace

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 or DESCRIBE TABLE your table name - Gives the table details

cqlsh:system> DESCRIBE TABLE batchlog

CREATE TABLE system.batchlog ( id uuid PRIMARY KEY, data blob, version int, written_at timestamp ) WITH bloom_filter_fp_chance = 0.01 AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'} AND comment = 'DEPRECATED batchlog entries' ....omitted for brevity

  1. login to cqlsh

  2. use below command to get names/list of keyspaces present

     SELECT keyspace_name FROM system_schema.keyspaces;
1

DESC KEYSPACES will do the job.

Also, If you want to describe schema of a particular keyspace you can use

DESC

To List all the available keyspaces in cassandra using cqlsh in CLI mode.

Command : DESCRIBE keyspaces;

Example :

cqlsh> DESCRIBE keyspaces;

Example1

0

Defining A KeySpace

Understanding A Database:-In Cassandra, A database is defined as a Keyspace, Within the KeySpace Table Can be Defined.

Checking ALL KeySpace

cqlsh> DESCRIBE KEYSPACEs;

Defining A Available Keyspace

cqlsh> DESCRIBE KEYSPACE stack ;
  1. login to cqlsh
  2. desc keyspaces;
  3. select * from system_schema.keyspaces ;

desc keyspaces will do it for you.

DESCRIBE keyspaces to list all keysapces DESCRIBE keyspace

I suggest a combination of grep and awk:

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

Apart from above method, if you have opscenter installed,

  1. Go to data tab > there you will see all keyspcaces created by you and some system keyspaces.
  2. You can see all tables under individual keyspaces and also replicator factor for keyspace.

for more details check below link.

describes and desc command will give list of keyspaces in the cluster.Please find below output for more details.

cqlsh> describe keyspaces
reaper_db system_auth system_distributed
system_schema system system_traces

OR

cqlsh> desc keyspaces
reaper_db system_auth system_distributed
system_schema system system_traces
3

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.