假设我在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,它将结果限制为所需的列限定符,并轻松编写SummingIterator(或仅对客户端求和)。
关于java - 如何在Accumulo中对列限定符字段执行聚合?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27901588/