2016-05-14 46 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的簡單邏輯。