【问题标题】:How to list column families in keyspace?如何列出键空间中的列族?
【发布时间】:2014-05-09 04:13:02
【问题描述】:

如何使用 CQL 3 在 Cassandra 的键空间中获取所有列族的列表?

【问题讨论】:

    标签: cassandra cassandra-2.0 cql3 cqlsh


    【解决方案1】:

    或者更简单(如果您使用 cqlsh),使用use 切换到您的键空间,然后执行describe tables

    cqlsh> use products;
    cqlsh:products> describe tables;
    
    itemmaster    itemhierarchy         companyitemfavorites
    testtable
    

    注意:describe 命令仅特定于 cqlsh。

    【讨论】:

      【解决方案2】:
      cqlsh> select columnfamily_name from system.schema_columnfamilies where keyspace_name = 'test';
      
       columnfamily_name
      -------------------
                 commits
                     foo
           has_all_types
            item_by_user
                    test
                   test2
            user_by_item
      
      (7 rows)
      

      【讨论】:

      • 从 Cassandra 3.0 开始,应该是:SELECT table_name FROM system_schema.tables WHERE keyspace_name = 'test';
      【解决方案3】:

      CQL API 同时支持TABLESCOLUMNFAMILIES

      $ cqlsh
      cqlsh> DESCRIBE KEYSPACES;
      cqlsh> USE keyspace_shaharma;
      

      查看列族,

      cqlsh:keyspace_shaharma> DESCRIBE COLUMNFAMILIES;
      

      cqlsh:keyspace_shaharma> DESCRIBE TABLES;
      

      【讨论】:

        【解决方案4】:

        列出键空间中的列族或表:

        1. 通过使用选择查询:

          SELECT table_name FROM system_schema.tables WHERE keyspace_name ='mydb';

        2. 通过选择键空间,然后我们可以列出键空间内可用的表:

          使用 keyspace_name 描述表格;

        3. 通过使用描述关键字:

          描述 COLUMNFAMILIES;

        【讨论】:

          猜你喜欢
          • 2014-04-18
          • 2015-01-16
          • 2015-03-15
          • 2018-07-02
          • 2016-05-15
          • 2013-03-23
          • 1970-01-01
          • 2011-02-01
          • 2012-07-08
          相关资源
          最近更新 更多