电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

MapReduce工作原理VIP免费

MapReduce工作原理_第1页
1/12
MapReduce工作原理_第2页
2/12
MapReduce工作原理_第3页
3/12
第1页, 共12页 MapReduce工作原理 1 MapReduce 原理(一) 1.1 MapReduce 编程模型 MapRedu ce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapRedu ce就是"任务的分解与结果的汇总"。 在Hadoop中,用于执行MapRedu ce任务的机器角色有两个:一个是JobTracker;另一个是TaskTracker,JobTracker是用于调度工作的,TaskTracker是用于执行工作的。一个Hadoop集群中只有一台JobTracker。 在分布式计算中,MapRedu ce框架负责处理了并行编程中分布式存储、工作调度、负载均衡、容错均衡、容错处理以及网络通信等复杂问题,把处理过程高度抽象为两个函数:map和redu ce,map负责把任务分解成多个任务,redu ce负责把分解后多任务处理的结果汇总起来。 需要注意的是,用MapRedu ce来处理的数据集(或任务)必须具备这样的特点:待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。 1.2 MapReduce 处理过程 在Hadoop中,每个MapRedu ce任务都被初始化为一个Job,每个Job又可以分为两种阶段:map阶段和redu ce阶段。这两个阶段分别用两个函数表示,即map函数和redu ce函数。map函数接收一个形式的输入,然后同样产生一个形式的中间输出,Hadoop函数接收一个如形式的输入,然后对这个v alu e集合进行处理,每个redu ce产生0或1个输出,redu ce的输出也是形式的。 第2 页, 共1 2 页 一切都是从最上方的user program开始的,user program链接了MapReduce库,实现了最基本的Map函数和Reduce函数。图中执行的顺序都用数字标记了。 1) MapReduce库先把user program的输入文件划分为M份(M为用户定义),每一份通常有16MB到64MB,如图左方所示分成了split0~4;然后使用fork将用户进程拷贝到集群内其它机器上。 2) user program的副本中有一个称为master,其余称为worker,master是负责调度的,为空闲worker分配作业(Map作业或者Reduce作业),worker的数量也是可以由用户指定的。 3) 被分配了Map作业的worker,开始读取对应分片的输入数据,Map作业数量是由M决定的,和split一一对应;Map作业从输入数据中抽取出键值对,每一个键值对都作为参数传递给map函数,map函数产生的中间...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

MapReduce工作原理

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部