一、MapReduce是什么
总的来说:MapReduce是面向大规模数据并行处理的计算模型、框架和平台。具有以下3个层面的含义:
1.MapReduce是一个并行程序的设计模型与方法;
2.MapReduce是一个并行程序运行的软件框架;
3.MapReduce是一个基于集群的高性能并行计算平台
Hadoop中的MapReduce就是一个使用简单的软件框架,基于它写出来的应用程序能够运行在由成百上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理TB或PB级别的数据集。
二、MapReduce的基本设计思想
面向大规模数据处理,MapReduce有以下三个层面上的基本设计思想。
1.分而治之
对于大数据并行处理采用“分而治之”的设计思想
2.抽象成模型
把函数式编程思想构建成抽象模型----Map和Reduce
- Map阶段(切分成一个个小的任务)
- Reduce阶段(汇总小任务的结果)