>假设我在Accumulo中有这样的表:
a cf1:cq1 [ ] 1
b cf1:cq1 [ ] 3
c cf1:cq1 [ ] 2
如果我在这个表上应用 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 将结果限制为您想要的列限定符,并轻松编写求和迭代器(或只是在客户端对它们求和)。