学分高考 web前端

MapReduce编程原理

发布时间: 2022-03-03 17:58:25

精选答案

MapReduce是采用一种分而治之的思想设计出来的分布式计算框架,主要被应用于搜索领域,解决海量数据的计算问题。MapReduce由两个阶段组成:Map和Reduce,用户只需要实现map()和reduce()两个函数,即可实现分布式计算。

1、Map阶段

map task的map()函数以key-value对作为输入,产生一系列kv对作为中间输出写入本地磁盘。

2、Reduce阶段

reduce()函数通过网络将map的输出(kv对)作为输入,产生另一系列kv对作为最终输出写入到hdfs,这时的key-value对是计算结果。

MapReduce的优点:

1)易于编程

MapReduce只需简单地实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的PC机上运行。

2)良好的可扩展性

当计算机资源得不到满足的时候,可以通过简单的增加机器来扩展它的计算能力。

3)高容错性

比如一台机器挂了,可以把它上面的计算任务转移到另一个节点上运行,不至于整个任务运行失败,而且这个过程不需要人工干预,完全由hadoop内部完成。

4)高吞吐量

能对PB量级以上海量数据进行离线处理,适合离线处理而不适合实时处理。

其他答案

MapReduce执行步骤:

1、map任务处理

(a)读取输入文件内容,解析成key、value对。对输入文件的每一行,解析成key、value对。每一个键值对调用一次map函数。

(b)写自己的逻辑,对输入的key、value处理,转换成新的key、value输出。

2、reduce任务处理

(a)在reduce之前,有一个shuffle的过程对多个map任务的输出进行合并、排序。

(b)写reduce函数自己的逻辑,对输入的key、value处理,转换成新的key、value输出。

(c)把reduce的输出保存到文件中。

温馨提示:
本文【MapReduce编程原理】由作者教培参考提供。该文观点仅代表作者本人,学分高考系信息发布平台,仅提供信息存储空间服务,若存在侵权问题,请及时联系管理员或作者进行删除。
我们采用的作品包括内容和图片部分来源于网络用户投稿,我们不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系我站将及时删除。
内容侵权、违法和不良信息举报
Copyright @ 2024 学分高考 All Rights Reserved 版权所有. 湘ICP备17021685号