我是卡桑德拉的新手,试图使用卡桑德拉实现一个玩具应用程序。我已经在我的Cassandra DB中创建了一个键空间和几个列族,但我忘记了集群的名称。

我试图找到是否有任何查询可以列出所有可用的键空间。

有人知道这样的查询或命令吗?


当前回答

我建议使用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

其他回答

在命令行模式下使用cqlsh列出cassandra中所有可用的密钥空间。

Command: DESCRIBE keyspaces;

例子:

cqlsh> DESCRIBE keyspaces;

如果希望在cqlsh工具之外执行此操作,可以在系统密钥空间中查询schema_keyspaces表。还有一个名为schema_columnfamilies的表,它包含关于所有表的信息。

description和SHOW命令只能在cqlsh和cassandra-cli下使用。

发现它……Show keyspaces命令列出所有的密钥空间。我想之前当我尝试这个命令时,我忘记在'keyspaces'中给出最后一个's'

登录到CQLSH desc用于; 从system_schema中选择*。用于;

除上述方法外,如果你安装了opscenter,

转到数据选项卡>,在那里你会看到你创建的所有密钥空间和一些系统密钥空间。 您可以看到各个键空间下的所有表,还可以看到键空间的复制因子。

欲了解更多详情,请查看下面的链接。 https://docs.datastax.com/en/opscenter/6.1/opsc/online_help/opscDataModelingManagingKeyspace_t.html