213

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

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

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

4

16 回答 16

408

[cqlsh 4.1.0 | 卡桑德拉 2.0.4 | CQL 规范 3.1.1 | 节俭协议 19.39.0]

目前,要使用的命令是:

DESCRIBE keyspaces;
于 2014-01-17T09:20:07.940 回答
103

如果您想在cqlsh工具之外执行此操作,您可以在键空间中查询schema_keyspacessystem。还有一个名为的表schema_columnfamilies,其中包含有关所有表的信息。

DESCRIBEandSHOW命令仅适用于cqlshand 。cassandra-cli

于 2013-09-11T19:23:34.520 回答
42

它非常简单。只需给出以下命令即可列出所有键空间。

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/

于 2017-12-27T14:21:47.420 回答
12

找到它...show keyspaces命令列出了所有的键空间。我想早些时候当我尝试这个命令时,我忘记在'keyspaces'中给出最后一个's'

于 2013-09-10T07:33:27.523 回答
8

要查看 Apache Cassandra NoSQL 数据库服务器上的所有键空间,请使用以下命令:

> DESCRIBE KEYSPACES 
于 2020-04-09T08:06:41.243 回答
6

一旦登录到 cqlsh 或 cassandra-cli。运行以下命令

  • 在 cqlsh 上

desc keyspaces;

或者

describe keyspaces;

或者

select * from system_schema.keyspaces;

  • 在 cassandra-cli 上

show keyspaces;

于 2018-12-19T15:23:05.357 回答
5

命令是你的DESCRIBE朋友。您可以描述一个键空间、列出键空间、一张表或列出键空间中的所有表、集群等等。您可以通过键入获得完整的想法

HELP DESCRIBE在cqlsh中。

在 127.0.0.1:9042 连接到 mscluster。[cqlsh 5.0.1 | 卡桑德拉 3.8 | CQL 规范 3.4.2 | 本机协议 v4] 使用 HELP 寻求帮助。

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 persistent_writes = true;

  • DESCRIBE 键空间 - 列出所有键空间

cqlsh> 描述键空间

system_schema 系统测试密钥空间 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

  • DESCRIBEyour 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 caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'} AND comment =' DEPRECATED batchlog条目' ....为简洁起见省略

于 2017-09-11T11:03:04.110 回答
4

DESC KEYSPACES 将完成这项工作。

此外,如果您想描述特定键空间的模式,您可以使用

DESC

于 2017-11-22T14:57:36.277 回答
3
  1. 登录cqlsh

  2. 使用以下命令获取存在的键空间的名称/列表

         SELECT keyspace_name FROM system_schema.keyspaces;
    
于 2020-03-13T08:47:36.487 回答
3

在 CLI 模式下使用 cqlsh 列出 cassandra 中的所有可用键空间。

命令:描述键空间;

例子 :

cqlsh> DESCRIBE keyspaces;

示例 1

于 2020-10-23T09:14:11.937 回答
2
  1. 登录cqlsh
  2. desc 键空间;
  3. 从 system_schema.keyspaces 中选择 *;
于 2018-11-11T02:21:32.407 回答
1

desc 键空间将为您完成。

于 2017-10-26T11:51:29.477 回答
1

DESCRIBE 键空间列出所有键空间 DESCRIBE 键空间 https://docs.datastax.com/en/dse/5.1/cql/cql/cql_reference/cqlsh_commands/cqlshDescribeKeyspace.html

于 2019-05-09T08:57:21.033 回答
1

我建议结合grepawk

root@DC1-Node1:/home# nodetool tablestats | grep "Keyspace :" | awk -F ":" '{print $2}'
 system_traces
 system
 system_distributed
 system_schema
 device_tool
 system_tool
于 2019-09-05T13:33:15.887 回答
0

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

  1. 转到数据选项卡 > 那里您将看到您创建的所有键空间和一些系统键空间。
  2. 您可以查看各个键空间下的所有表以及键空间的复制因子。

有关更多详细信息,请查看以下链接。 https://docs.datastax.com/en/opscenter/6.1/opsc/online_help/opscDataModelingManagingKeyspace_t.html

于 2019-02-19T17:48:56.203 回答
-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
于 2019-10-15T10:24:14.610 回答