详解MapReduce算法及视图 | 趋势网
趋势网
趋势网 > 文章 > 正文
详解MapReduce算法及视图 转摘 2012-11-28 13:33:35 carlbgc
江苏无锡一学院持刀伤人案 被丈夫举报出 轨学生女教师二提离婚 无锡工艺职业技术学院捅人事件 已确认超40只宠物狗疑似中毒死亡 珠海驾车撞人案嫌疑人被批捕 
原来你买的都有隐藏券!快查淘宝天猫内部优惠券

趋势网讯:

map()函数把输入数据进行切割(比如分为M块)之后,分布到不同的机器上执行(例如前面介绍的单词统计例子,可以把每一个文件分配到一台机器上执行)。Reduce()函数通过产生的键key(例如可以根据某种分区函数(比如hash(key) mod R),R的值和分区函数都是由用户指定)将map()的结果集分成R块,然后分别在R台机器上执行。

图1是MapReduce算法示意图。当用户程序调用MapReduce函数时,就会引起如下的操作。

,互联网,详解MapReduce算法及视图

图1

(1) MapReduce函数库首先把输入文件分成M块,每块大概16MB到64MB。接着在集群的机器上执行处理程序。

如图2.14所示,MapReduce算法运行过程中有一个主控程序,称为master。主控程序会产生很多作业程序,称为worker。并且把M个map任务和R个reduce任务分配给这些worker,让它们去完成。

(2) 被分配了map任务的worker读取并处理相关的输入(这里的输入是指已经被切割的输入小块splite)。它处理输入的数据,并且 将分析出的键/值(key/value)对传递给用户定义的reduce()函数。map()函数产生的中间结果键/值(key/value)对暂时缓冲 到内存。

(3) map()函数缓冲到内存的中间结果将被定时刷写到本地硬盘,这些数据通过分区函数分成R个区。这些中间结果在本地硬盘的位置信息将被发送回master,然后这个master负责把这些位置信息传送给reduce()函数的worker。

(4) 当master通知了reduce()函数的worker关于中间键/值(key/value)对的位置时,worker调用远程方法 从map()函数的worker机器的本地硬盘上读取缓冲的中间数据。当reduce()函数的worker读取到了所有的中间数据,它就使用这些中间数 据的键(key)进行排序,这样可以使得相同键(key)的值都在一起。如果中间结果集太大了,那么就需要使用外排序。

(5) reduce()函数的worker根据每一个中间结果的键(key)来遍历排序后的数据,并且把键(key)和相关的中间结果值(value)集合传递给reduce()函数。reduce()函数的worker最终把输出结果存放在master机器的一个输出文件中。

(6) 当所有的map任务和reduce任务都已经完成后,master激活用户程序。在这时,MapReduce返回用户程序的调用点。

(7) 当以上步骤成功结束以后,MapReduce的执行数据存放在总计R个输出文件中(每个输出文件都是由reduce任务产生的,这些文 件名是用户指定的)。通常,用户不需要将这R个输出文件合并到一个文件,他们通常把这些文件作为输入传递给另一个MapReduce调用,或者用另一个分 布式应用来处理这些文件,并且这些分布式应用把这些文件看成为输入文件由于分区(partition)成为的多个块文件。

更多  限时  视频 
正在看美女  









某宝是什么,为什么叫某宝?对!我就是那个某宝
更多  限时  视频 
全页海量资源!周妍希 易阳 珞可可 沈梦瑶 穆菲菲 夏茉
资讯    头条  人物   盘点  爆料  花边    囧图  段子  福利
热图    性感佳丽爱菲木有遮写真
奇闻    江苏无锡一学院持刀伤人案 被丈夫举报出 轨学生女教师二提离婚 无锡工艺职业技术学院捅人事件 已确认超40只宠物狗疑似中毒死亡 珠海驾车撞人案嫌疑人被批捕 江苏无锡一学院持刀伤人案 被丈夫举报出 轨学生女教师二提离婚 
专题    优衣库  iPhone8  苹果X
标签    互联网+  智能物联  增强现实  虚拟现实
感谢各大网址导航推荐本站
360导航
UC导航
Opera导航
毒霸网址
无限趋势·趋势网:关注互联网热点
www.mtrend.cn
@趋势网
趋势网
京ICP备09071216号-4