1. MapReduce介绍
MapReduce的思想核心是“分而治之”,适用于大规模数据处理场景。
- Map负责“分”,把复杂的任务分解为若干个简单的任务来并行处理。可以拆分的前提是这些小任务可以并行运算,彼此之间几乎没有依赖关系。
- Reduce负责“合”,即对Map阶段的结果进行全局汇总。
- MapReduce运行在yarn集群
- ResourceManager
- NodeManager
1.1 MapReduce的设计构思
MapReduce是一种分布式运算程序的编程框架
,核心是将用户编写的业务逻辑代码和自带默认组件组合成一个完整的分布式运算程序,并发运行Hadoop集群上。
Map和Reduce为用户提供了一个清晰的操作接口抽象描述。MapReduce提供了如下的Map和Reduce两个抽象的编程接口,由用户去编程实现Map和Reduce。Map和Reduce处理的是<key, value>键值对。
-Map <k1, v1> --> [<k2, v2>]
-Reduce <k2, v2> --> [<k3, v3>]