MR作业根据键将字符串附加到长行

时间:2016-05-14 09:11:30

标签: hadoop mapreduce

我的数据:

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)

我的理解是在mapper中我应该将输入分成键值对,如下所示:

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

但我被减速器困住 - 任何想法?

1 个答案:

答案 0 :(得分:0)

好的,我明白了。

映射器实际应该产生这个:

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

然后,在reducer中 - 知道Hadoop默认排序键 - 我们可以使用简单的逻辑将后续值添加到键if key == next key