cassandra - Cassandra 使用 Java 驱动程序 4.6 获取表数
问题描述
我正在尝试获取超过 100,000 条记录的表的计数。我已经完成了异步获取页面大小为 10000 并通过迭代结果集行来增加原子序数。但是获取计数需要很多时间。
如果没有异步,我可以使用getAvailablewithoutfetching()
但不能获取所有行的结果集计数。有没有更好的方法来获取计数。
- DSE - 6.8.9
- Cql - 3.4.5
- 卡桑德拉 - 4.0.0.681
- Java 驱动程序 - 4.6.1
解决方案
@Gvtha,不建议在 Apache Cassandra 等 NoSQL 分布式数据库中扫描整个分布式集群节点来查找表数。相反,我们有一个坚如磐石的工具来实现这一目标。它被称为DataStax Bulk Loader(简称 DSBulk)。该工具可用于load
与OSS Cassandra/DataStax Enterprise (DSE) unload
/ count
DataStax AstraDB 集群无缝操作。
简而言之,
./dsbulk count -h <hostname_or_ip_of_c*_node> -k <keyspace_name> -t <table_name>
这里有一些参考资料可以帮助您快速入门,
我希望这有助于您入门。
推荐阅读
- hugo - 如何在 Hugo 中检查当前范围内的变量?
- css - 是否可以根据被定位元素的右下角绝对定位元素?
- sql - 带有批次的 BigQuery ARRAY_AGG
- node.js - Mongoose:查询数组的长度是否> 0
- oracle-apex - APEX Interactive Grip 更新 PL/SQL 代码太长
- vba - VBA 将 Word Doc 打印为 PDF,并使用 Mailmerge 字段中的密码
- sql-server - 将数据从一个位置传输到另一个具有相同数据库和表架构的位置
- reactjs - 如何在渲染之前将发送数据发送到组件?
- python - Pytorch 问题:关闭并重新打开 Spyder IDE 后,torch.load() 无法从文件中正确加载保存的模型
- regex - 正则表达式:匹配包含特殊字符的单词