一、MapRduce定义
MapReduce是一个分布式运算程序的编程框架,是用户开发"基于Hadoop的数据分析应用"的核心框架
二、MapReduce的设计思路
1、分而治之:
简化并计算的编程模式,不需要考虑集群之间的数据交互,只需要注重我们的业务逻辑
2、构建抽象模型:Map和Reduce
3、开发人员专注于实现Mapper和Reduce
三、MapReduce特点
优点
1、易于编程
2、可扩展性
3、高容错性
4、高吞吐量:每秒钟处理的数据量
不适用领域
1、难以实时计算
2、不适合流式计算
3、不擅长DAG(有向图)计算
四、MapReduce核心编程思想
1、MapReduce运算程序一般分为两个阶段:Map阶段和Reduce阶段
2、Map阶段的并发MapTask,完全并行运行,互不相干
3、Reduce阶段的并发ReduceTask,完全互不相干,但是他们的数据依赖于上一