Как выполнить агрегирование по полю квалификатора столбца в 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».

И если для такого запроса нет готового итератора, как мне создать для него собственный итератор?


person Vaibhav    schedule 12.01.2015    source источник


Ответы (1)


Я не думаю, что у нас есть что-то непосредственно в Accumulo, что делает то, что вы просите, но https://github.com/joshelser/accumulo-column-summing очень похож и может послужить хорошей отправной точкой.

Вы также можете попробовать использовать ColumnSliceFilter, который ограничит результаты нужным вам квалификатором столбца и легко напишет SummingIterator (или просто суммирует их на стороне клиента).

person elserj    schedule 12.01.2015