2015-06-09 4 views
0

Я работаю с Apache Accumulo, и мне нужно создать итератор, чтобы каждое мелкое уплотнение просматривало всю целую строку и создавало MD5 из двух столбцов и сохраняло ее как другой столбец моей строки ...Row edit iterator in Apache Accumulo

Пример:

вставить эти данные:

|| Row || colFam || colQual || value || 
||=====||========||=========||=======|| 
|| A || person || name || Bob || 
|| A || person || surname || Smith || 
|| A || work || place || Bank || 
|| B || person || name || Jhon || 
|| B || person || surname || Allen || 
|| B || work || place || Pub || 
... 
... 

мне нужен итератора, что каждый раз, когда я пишу строку (A или B со всеми его colFam е colQual) это получить значение двух (имя и фамилия) и вычислить MD5 итоговой строки (имя + фамилия) и сохраните его как столбец моей строки.

Результат должен быть такой:

|| Row || colFam || colQual || value  || 
||=====||========||=========||==============|| 
|| A || person || name || Bob   || 
|| A || person || surname || Smith  || 
|| A || work || place || Bank   || 
|| A || MD5 || MD5  || <MD5 result> || <-- 
|| B || person || name || Jhon   || 
|| B || person || surname || Allen  || 
|| B || work || place || Pub   || 
|| B || MD5 || MD5  || <MD5 result> || <-- 
.... 
.... 

Я думаю, что я могу поставить этот итератор на несовершеннолетний (/ мажор) уплотнительной таблицы.

Любая идея? Какой из встроенных итераторов я должен расширить для этого?

Спасибо большое

+0

Так в чем проблема. Предоставьте дополнительную информацию о том, что вам нужно –

+0

@GajendraKChauhan вот ты где! :) – Revan1988

+0

Это мой предмет интереса :) –

ответ

0

Отъезд TransformingIterator. Этот итератор пытается скрыть некоторые сложности после операций на уровне строк.

Общая стратегия заключается в том, что при итерации по строке вам необходимо буферизировать строку в памяти, выполнить вычисления и затем выписать строку в правильном порядке сортировки.