2015-01-12 41 views
1

假設我有一個這樣的表中Accumulo:如何通過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」。

如果這種查詢沒有現成的迭代器,那麼我應該如何去爲它創建一個自定義迭代器?

回答

1

我不認爲我們在Accumulo有什麼東西可以直接做你正在問的東西,但https://github.com/joshelser/accumulo-column-summing非常相似,可以作爲一個很好的起點。

您也可以嘗試使用ColumnSliceFilter,它將結果限制爲您想要的列限定符,並輕鬆編寫SummingIterator(或僅將它們添加到客戶端)。

相關問題