首页 > 解决方案 > Cassandra 使用 Java 驱动程序 4.6 获取表数

问题描述

我正在尝试获取超过 100,000 条记录的表的计数。我已经完成了异步获取页面大小为 10000 并通过迭代结果集行来增加原子序数。但是获取计数需要很多时间。

如果没有异步,我可以使用getAvailablewithoutfetching()但不能获取所有行的结果集计数。有没有更好的方法来获取计数。

  1. DSE - 6.8.9
  2. Cql - 3.4.5
  3. 卡桑德拉 - 4.0.0.681
  4. Java 驱动程序 - 4.6.1

标签: cassandradatastaxdatastax-java-driver

解决方案


@Gvtha,不建议在 Apache Cassandra 等 NoSQL 分布式数据库中扫描整个分布式集群节点来查找表数。相反,我们有一个坚如磐石的工具来实现这一目标。它被称为DataStax Bulk Loader(简称 DSBulk)。该工具可用于load与OSS Cassandra/DataStax Enterprise (DSE) unload/ countDataStax AstraDB 集群无缝操作。

简而言之,

./dsbulk count -h <hostname_or_ip_of_c*_node> -k <keyspace_name> -t <table_name>

这里有一些参考资料可以帮助您快速入门,

我希望这有助于您入门。


推荐阅读