如何对 Accumulo 中的列限定符字段执行聚合?

How do I perform Aggregation over the column qualifier field in Accumulo?

假设我在 Accumulo 中有这样一个 Table:

a cf1:cq1 [ ]    1

b cf1:cq1 [ ]    3

c cf1:cq1 [ ]    2

如果我在此 table 上应用 SummingCombiner 并插入一行“a cf1 cq1 2”,那么我将得到如下结果:

a cf1:cq1 [ ]    3

b cf1:cq1 [ ]    3

c cf1:cq1 [ ]    2

我想知道是否有一个迭代器可以帮助我对特定字段(如列限定符)执行聚合。

简而言之,我可以执行类似“Sum of the values of those rows where column qualifier is cq1”的查询吗?

如果没有针对此类查询的现成迭代器,我应该如何为其创建自定义迭代器?

我认为我们在 Accumulo 中没有任何东西可以直接满足您的要求,但是 https://github.com/joshelser/accumulo-column-summing 非常相似,可以作为一个很好的起点。

您也可以尝试使用 ColumnSliceFilter,它将结果限制为您想要的列限定符,并轻松编写 SummingIterator(或只是在客户端对它们求和)。