如何在 Accumulo 中获取数据库查询的计数

How to get count for database query in Accumulo

我见过的每个数据库 都有一种在实际执行查询之前检索查询计数的方法。但是我不知道如何在 Accumulo 中完成这个简单的任务。

为了清楚起见,我想要这个 Mongo feature 的 Accumulo 模拟。

我检查了 Scanner apidocs 但我找不到任何东西。我正在使用 Java,但其他语言的答案也会很有帮助。

相较于传统的 RDBMS,Accumulo 是一个 lower-level 应用程序。它基于 Google's Big Table 而不是关系数据库。将其描述为 大规模并行排序映射 数据库 .

更准确

它旨在完成与关系数据库不同类型的任务,其重点是大数据

要实现与您在 Accumulo 中提到的 MongoDB 功能等效的功能(以计算任意查询结果集的大小),您可以编写 server-side Iterator 其中 returns 从每个服务器计数,可以在客户端求和以获得总数。如果您可以预见您的查询,您还可以创建一个索引来跟踪数据摄取期间的计数。

创建自定义 Iterators 是一个高级 activity。通常,有重要的 trade-offs (time/space/consistency/convenience) 来实现像结果集计数这样看似简单的事情,因此请谨慎行事。我建议咨询用户 mailing list 以获取信息和建议。