我是 Cassandra 的新手,正在尝试使用 Cassandra 实现一个玩具应用程序。我在 Cassandra DB 中创建了一个键空间和几个列族,但我忘记了集群的名称。
我正在尝试查找是否有任何查询可以列出所有可用的键空间。
有人知道这样的查询或命令吗?
[cqlsh 4.1.0 |卡桑德拉 2.0.4 | CQL 规范 3.1.1 |节俭协议 19.39.0]
目前,要使用的命令是:
DESC[RIBE] keyspaces;
如果您想在 cqlsh
工具之外执行此操作,您可以查询 system
键空间中的 schema_keyspaces
表。还有一个名为 schema_columnfamilies
的表,其中包含有关所有表的信息。
DESCRIBE
和 SHOW
命令仅适用于 cqlsh
和 cassandra-cli
。
sqlsh
中的 show keyspaces
引发错误(“不正确的显示命令。”)我改用 describe keyspaces
。
它非常简单。只需给出以下命令即可列出所有键空间。
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/
找到它...show keyspaces
命令列出了所有的键空间。我想早些时候当我尝试这个命令时,我忘记在'keyspaces'中给出最后一个's'
sqlsh
中,它会引发错误(“不正确的显示命令。”)我改用 describe keyspaces
。
要查看 Apache Cassandra NoSQL 数据库服务器上的所有键空间,请使用以下命令:
> DESCRIBE KEYSPACES
一旦登录到 cqlsh 或 cassandra-cli。运行以下命令
在 cqlsh 上
desc keyspaces;
或者
describe keyspaces;
或者
select * from system_schema.keyspaces;
在 cassandra-cli 上
show keyspaces;
DESCRIBE
命令是您的朋友。您可以描述一个键空间、列出键空间、一张表或列出键空间中的所有表、集群等等。您可以通过键入获得完整的想法
HELP DESCRIBE
在 cqlsh 中。
在 127.0.0.1:9042 连接到 mscluster。 [cqlsh 5.0.1 |卡桑德拉 3.8 | CQL 规范 3.4.2 |本机协议 v4] 使用 HELP 寻求帮助。 cqlsh> HELP DESCRIBE DESCRIBE [cqlsh only](DESC 可以用作简写。)输出有关已连接 Cassandra 集群或存储在集群中的数据对象的信息。以下列方式之一使用:...<为简洁起见,省略>
DESCRIBE <您的密钥空间名称> - 描述用于创建密钥空间的命令
cqlsh> DESCRIBE testkeyspace; CREATE KEYSPACE testkeyspace WITH replication = {'class':'SimpleStrategy', 'replication_factor': '3'} AND persistent_writes = true;
DESCRIBE 键空间 - 列出所有键空间
cqlsh> DESCRIBE KEYSPACES system_schema system testkeyspace system_auth system_distributed system_traces
DESCRIBE TABLES - 列出当前键空间中的所有表
cqlsh:系统>描述表; 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 您的表名或 DESCRIBE TABLE 您的表名 - 提供表的详细信息
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 caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'} AND comment = 'DEPRECATED batchlog条目' ....为简洁起见省略
DESC KEYSPACES 将完成这项工作。
此外,如果您想描述特定键空间的模式,您可以使用
DESC
在 CLI 模式下使用 cqlsh 列出 cassandra 中的所有可用键空间。
命令:描述键空间;
例子 :
cqlsh> DESCRIBE keyspaces;
https://i.stack.imgur.com/b5O7O.png
登录到 cqlsh 使用以下命令获取名称/键空间列表存在 SELECT keyspace_name FROM system_schema.keyspaces;
登录到 cqlsh desc 键空间;从 system_schema.keyspaces 中选择 *;
desc 键空间将为您完成。
DESCRIBE 键空间列出所有键空间 DESCRIBE 键空间 https://docs.datastax.com/en/dse/5.1/cql/cql/cql_reference/cqlsh_commands/cqlshDescribeKeyspace.html
我建议结合使用 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
除了上述方法,如果你安装了 opscenter,
转到数据选项卡 > 那里您将看到您创建的所有键空间和一些系统键空间。您可以查看各个键空间下的所有表以及键空间的复制因子。
有关更多详细信息,请查看以下链接。 https://docs.datastax.com/en/opscenter/6.1/opsc/online_help/opscDataModelingManagingKeyspace_t.html
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
中工作,而不是在任何地方......