我正在使用Apache Accumulo,我需要创建一个迭代器,每次轻微的压缩扫描所有整行,并创建一个两列的MD5并将其保存为我的行的另一列......
示例:
我插入此数据:
|| 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 e colQual)时,它都会获得两列(name和surname)的值并计算结果字符串的MD5(name + surname)并将其保存为我的行列。
结果应该是这样的:
|| 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)
查看TransformingIterator。这个迭代器试图隐藏行级操作背后的一些复杂性。
一般策略是,当迭代一行时,你必须在内存中缓冲行,执行计算,然后以正确的排序顺序写出行。