一、MapReduce 概述
1、MapReduce 简介
MapReduce是一个分布式运算程序的编程框架,是基于Hadoop的数据分析计算的核心框架。
MapReduce处理过程分为两个阶段:Map和Reduce。
Map负责把一个任务分解成多个任务,Reduce负责把分解后多任务处理的结果汇总。
2、MapReduce 优缺点
MapReduce 优点:
- MapReduce易于编程:它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的PC机是语上运行。也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的。就是因为这个特点使得MapReduce编程变得非常流行。
- 良好的扩展性:当你的计算资源不能得到满足的时候,你可以通过简单的增加机器来扩展它的计算能力。
- 高容错性:MapReduce设计的初衷就是使程序能够部署在廉价日了Pc机器上,这就要求它具有很高的容错性。比如其中一台机器挂了,它可以把上面的计算任务转移到另外一个节点上运行,不至于这个任务运行失败,而且这个过程不需要人工参与,而完全是由Hadoop内部完成的。
- 适合PB级以上海量数据的离线处理:可以实现上干台服务器集群并发工作