2016-05-14 40 views
0

我的数据字符串追加线路长:MR工作,根据关键

ABC|value x|value y 
CDE|value n|value m 
GHI|value h|value i 
ABC|value o|value p 
CDE|value f|value g 

我需要这样的输出:

ABC: (value x, value y), (value o, value p) 
CDE: (value n, value m), (value f, value g) 
GHI: (value h, value i) 

我的理解是,在映射我应该拆分输入键值对这样的:

"value x|value y"    ABC 
"value n|value m"    CDE 

但我卡在减速机 - 任何想法?

回答

0

好吧,我想通了。

映射器实际上应该产生这样的:

ABC    "value x|value y"    
CDE    "value n|value m"    

,然后在减速 - 明知Hadoop的默认排序键 - 我们可以使用增加后续值的关键if key == next key的简单逻辑。