美文网首页
T-13-云计算 | Google分布式数据处理MapReduc

T-13-云计算 | Google分布式数据处理MapReduc

作者: 月影诉残心 | 来源:发表于2018-12-05 21:24 被阅读9次

1. 产生背景

MapReduce这种并行编程模式思想最早是在1995年提出的。

Jeffery Dean

与传统的分布式程序设计相比,MapReduce封装了并行处理、容错处理、本地化计算、负载均衡等细节,还提供了一个简单而强大的接口。

MapReduce把对数据集的大规模操作,分发给一个主节点管理下的各分节点共同完成,通过这种方式实现任务的可靠执行与容错机制。

2. 编程模型

编程模型01
编程模型02

3. 实现机制

实现机制
  1. MapReduce函数首先把输入文件分成M块
  2. 分派的执行程序中有一个主控程序Master
  3. 一个被分配了Map任务的Worker读取并处理相关的输入块
  4. 这些缓冲到内存的中间结果将被定时写到本地硬盘,这些数据通过分区函数分成R个区
  5. 当Master通知执行Reduce的Worker关于中间<key,value>对的位置时,它调用远程过程,从Map Worker的本地硬盘上读取缓冲的中间数据
  6. Reduce Worker根据每一个唯一中间key来遍历所有的排序后的中间数据,并且把key和相关的中间结果值集合传递给用户定义的Reduce函数
  7. 当所有的Map任务和Reduce任务都完成的时候,Master激活用户程序

4. 容错机制

容错机制

相关文章

网友评论

      本文标题:T-13-云计算 | Google分布式数据处理MapReduc

      本文链接:https://www.haomeiwen.com/subject/afwvcqtx.html