【问题标题】:How to obtain number of tables in a keyspace in Cassandra?如何在 Cassandra 的键空间中获取表的数量?
【发布时间】:2017-07-12 08:53:39
【问题描述】:

例如,我们可以使用

select count(*) from student_database;

计算表中的行数。 但是我们如何计算一个键空间中的表数呢?

DESCRIBE TABLES;

为您提供该键空间中所有表的列表。

【问题讨论】:

    标签: cassandra cql cassandra-2.0 nosql


    【解决方案1】:

    对于 Cassandra 2.x(及更低版本)的答案:

    SELECT COUNT(*) FROM system.schema_columnfamilies 
        WHERE keyspace_name='your keyspace';
    

    【讨论】:

      【解决方案2】:

      SELECT count(*) FROM system_schema.tables WHERE keyspace_name='your keyspace'

      上述查询将在 cassandra 3.0 及更高版本中工作

      【讨论】:

      【解决方案3】:
      rows = session.execute("SELECT count(*) FROM system_schema.tables WHERE keyspace_name = 'your_keyspace_name'")
      
      print(list(rows))
      

      结果:

      [Row(count=2)]
      

      【讨论】:

      • 答案应该提到代码是如何工作的,而不仅仅是在代码中提供解决方案。
      • 此查询仅适用于特定版本的 Cassandra。如果您使用的是 Python,那么您需要使用适用于不同 Cassandra 版本的驱动程序的功能
      猜你喜欢
      • 2014-09-23
      • 2016-02-13
      • 2019-10-14
      • 2015-08-22
      • 2017-01-01
      • 2011-06-22
      • 2015-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多