MapReduce的一个设计目标就是易用性,它提供了一个高度抽象化的非常简单的编程模型。
MapReduce这个分布式计算框架,其应用场景往往是那些可以将任务分解成相互独立的子问题。基于这个特点, MapReduce编程模型将分布式编程分成了五个步骤:
1),迭代遍历输入数据,并将数据解析成简单的key/value键值对的形式,该阶段段对应着InputFormat组件;
2)、将输入的key/value映射成另外的key/value数值对,该阶段对应着Mapper组件;
3)、依据key对所有的中间数据进行分组儿,该阶段对应着Partitiner组件;
4)、以组为单位对数据进行reduce处理,该阶段对应着Reducer组件;
5)、将最终产生的数据以key/value的形式保存到文件中,该阶段对应着OutputForamt组件。
下面然我们来看一下MapReduce编程模型接口的示意图:
在接下来的几节中我们将着重学习这个编程接口的组件。
Hadoop深入学习:MapReduce的编程模型
猜你喜欢
转载自flyingdutchman.iteye.com/blog/1876348
今日推荐
周排行