我的数据:
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条答案
按热度按时间soat7uwm1#
好吧,我想出来了。
Map器应该实际生成以下内容:
然后,在reducer中——知道hadoop在默认情况下对键进行排序——我们可以使用简单的逻辑将后续值添加到键中
if key == next key
.