我的数据:
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
但我被减速器卡住了——有什么想法吗?
好吧,我想通了。
映射器实际上应该生成以下内容:
ABC "value x|value y"
CDE "value n|value m"
然后,在reducer中——知道Hadoop默认情况下对键进行排序——我们可以使用向键if key == next key
添加后续值的简单逻辑。