【问题标题】:Cassandra Table Count TimeoutCassandra 表计数超时
【发布时间】:2019-05-19 15:57:00
【问题描述】:

我尝试获取表格中的行数。但是 cassandra 为这个查询设置了超时 select count(*) from events ;

我认为我的表太大,所以如果我为我的查询提供超时值,它总是超时 cqlsh --request-timeout=200000

表大小 1.3TB。有什么方法可以知道这张表有多少行?

【问题讨论】:

  • 您需要准确的计数还是估计的计数就足够了?
  • 其实我需要精确计数

标签: cassandra nodetool


【解决方案1】:

不要使用 count(*) 来获取行数。您可以使用以下链接并下载 jar 文件来获取行数。
https://github.com/brianmhess/cassandra-count

【讨论】:

    【解决方案2】:

    一种可以帮助您在结果分页中找到总行数的解决方案。

    请参考以下文档:

    https://docs.datastax.com/en/developer/java-driver/3.2/manual/paging/

    注意:您也可以尝试使用 ALLOW FILTERING 进行开发!但是应该避免使用它,因为它是非常昂贵的查询,可能会影响 cassandra 的性能。

    【讨论】:

    • 我对您的解决方案很感兴趣,但它让我无法理解分页如何帮助确定查询的计数。我使用 Datastax C# Cassandra Driver 在C# 中进行了尝试,但不幸的是没有找到任何有用的东西。如果我知道有多少页我可以确定计数,+/- pageSize...你能详细说明一下吗?
    猜你喜欢
    • 2019-07-22
    • 1970-01-01
    • 2018-06-22
    • 2017-07-29
    • 2014-08-06
    • 2016-11-08
    • 2018-07-10
    • 2015-05-26
    相关资源
    最近更新 更多