hadoop--关于MapReduce

MapReduce任务过程被分为两个阶段:map和reduce。

每个阶段都需要以键/值作为输入和输出,程序员需要定义两个函数map(),和reduce()。

在处理天气预报整个大数据时,我们只对年份和气温这两个属性感兴趣

 map函数的输出经由mapreduce框架处理后,最后被发送到reduce函数。这一过程中需要对键/值对进行排序和分组。因此reduce会收到下面的输入:

(1949,[111,78])

(1950,[0,22,-11])

每一年份后紧跟着一系列的温度,因此reduce需要做的就是遍历整个数据表找到最大的读数。

(1949,111)

(1950,22)

横向拓展:

      这个例子介绍了针对少量输入数据是如何工作的,我们只用了本地文件系统中的文件,然后为了实现横向拓展,我们需要把数据存储在分布式文件系统中,一般为HDFS,由此允许Hadoop将MapReduce计算转移到存储有部分数据的各台机器上。

扫描二维码关注公众号,回复: 339199 查看本文章

猜你喜欢

转载自w-sl.iteye.com/blog/2308895