2021年云南南方电网校园招聘考试计算机知识点:实现机制
实现机制
实现MapReduce操作的执行流程图[7]如图2-3所示。
当用户程序调用MapReduce函数,就会引起如下操作(图中的数字标示和下面的数字标示相同)。
实现MapReduce操作的执行流程图[7]如图2-3所示。
当用户程序调用MapReduce函数,就会引起如下操作(图中的数字标示和下面的数字标示相同)。
- 用户程序中的MapReduce函数库首先把输入文件分成M块,每块大概16MB~64MB(可以通过参数决定),接着在集群的机器上执行处理程序。
- 这些分派的执行程序中有一个程序比较特别,它是主控程序Master。剩下的执行程序都是作为Master的分派工作的Worker(工作机)。总共有M个Map任务和R个Reduce任务需要分派,Master选择空闲的Worker来分配这些Map或者Reduce任务。
- 一个分配了Map任务的Worker读取并处理相关的输入块。它处理输入的数据,并且将分析出的<key,value>对传递给用户定义的Map函数。Map函数产生的中间结果<key,value>对暂时缓冲到内存。
- 这些缓冲到内存的中间结果将被定时写到本地硬盘,这些数据通过分区函数分成R个区。中间结果在本地硬盘的位置信息将被发送回Master,然后Master负责把这些位置信息传送给Reduce Worker。
- 当Master通知Reduce的Worker关于中间<key,value>对的位置时,它调用远程过程来从Map Worker的本地硬盘上读取缓冲的中间数据。当Reduce Worker读到所有的中间数据,它就使用中间key进行排序,这样可以使得相同key的值都在一起。因为有许多不同key的Map都对应相同的Reduce任务,所以排序是必需的。如果中间结果集过于庞大,那么就需要使用外排序。
- Reduce Worker根据每一个唯一中间key来遍历所有的排序后的中间数据,并且把key和相关的中间结果值集合传递给用户定义的Reduce函数。Reduce函数的结果输出到一个最终的输出文件。
- 当所有的Map任务和Reduce任务都已经完成的时候,Master激活用户程序。此时MapReduce返回用户程序的调用点。
编辑推荐:
下载Word文档
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>