Hadoop:排序和改组

时间:2015-09-26 17:54:11

标签: hadoop

我是hadoop地区的新手。能否帮助我,我的责任是以(k2,list[v2,v2,v2...])的形式向我们提供输出(意味着将密钥与所有相关值结合起来)?

感谢。

1 个答案:

答案 0 :(得分:0)

这是Hadoop的MapReduce组件如何工作的一个例子,找出每年埃及的最高气温。

给出一组每年的温度值记录

sample record1: 1995, Jan, Cairo , 33, C
sample record2: 1995, Feb, Cairo , 37, C
......
......

map函数通过提取年份和气温来解析输入记录,并将其作为输出发出

example map output
(1950,0)
(1950, 22)
(1950, -11)
(1949, 111)
(1949, 78)

然后,map函数的输出由MapReduce框架在发送到reduce函数之前处理。此处理按键

对键值对进行排序和分组
sample sort output 
(1949, [111, 78])
(1950, [0, 22, −11])

最后,每年都会显示其所有气温读数的列表。现在要做的所有reduce函数都是遍历列表并获取最大读数:

(1949, 111)
(1950, 22)

参考:Hadoop: The Definitive Guide, 4th Edition