电话:0731-83595998
导航

2021年云南南方电网校园招聘考试计算机知识点:实现机制

来源: 2020-05-18 09:22
实现机制
实现MapReduce操作的执行流程图[7]如图2-3所示。
当用户程序调用MapReduce函数,就会引起如下操作(图中的数字标示和下面的数字标示相同)。
  1. 用户程序中的MapReduce函数库首先把输入文件分成M块,每块大概16MB~64MB(可以通过参数决定),接着在集群的机器上执行处理程序。
  2. 这些分派的执行程序中有一个程序比较特别,它是主控程序Master。剩下的执行程序都是作为Master的分派工作的Worker(工作机)。总共有M个Map任务和R个Reduce任务需要分派,Master选择空闲的Worker来分配这些Map或者Reduce任务。
  3. 一个分配了Map任务的Worker读取并处理相关的输入块。它处理输入的数据,并且将分析出的<key,value>对传递给用户定义的Map函数。Map函数产生的中间结果<key,value>对暂时缓冲到内存。
  4. 这些缓冲到内存的中间结果将被定时写到本地硬盘,这些数据通过分区函数分成R个区。中间结果在本地硬盘的位置信息将被发送回Master,然后Master负责把这些位置信息传送给Reduce Worker。
  5. 当Master通知Reduce的Worker关于中间<key,value>对的位置时,它调用远程过程来从Map Worker的本地硬盘上读取缓冲的中间数据。当Reduce Worker读到所有的中间数据,它就使用中间key进行排序,这样可以使得相同key的值都在一起。因为有许多不同key的Map都对应相同的Reduce任务,所以排序是必需的。如果中间结果集过于庞大,那么就需要使用外排序。
  6. Reduce Worker根据每一个唯一中间key来遍历所有的排序后的中间数据,并且把key和相关的中间结果值集合传递给用户定义的Reduce函数。Reduce函数的结果输出到一个最终的输出文件。
  7. 当所有的Map任务和Reduce任务都已经完成的时候,Master激活用户程序。此时MapReduce返回用户程序的调用点。
由于MapReduce是用在成百上千台机器上处理海量数据的,所以容错机制是不可或缺的。总的来说,MapReduce是通过冲洗执行失效的地方来实现容错的。
 

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端