1. MapReduce是Hadoop的一个核心技术、是一个基于分布式的对大数据集进行并行处理的一个计算框架。
2. 核心思想是移动计算而非数据。
3. 整个计算流程分为两个阶段,一个是map阶段,一个是reduce阶段
- map阶段 一个mapreduce作业在map阶段会先对数据进行逻辑分片处理,一个逻辑分片对应一个MapTask。
每一个MapTask在处理数据的时候,都会将每一行数据解析成键值对的形式,作为输入。
输入给map函数。map函数处理后,也会以键值对的形式作为输出。
之后会对数据进行分区,排序等处理
- reduce阶段 在进入reduce阶段之前。
reduceTask会将自己要处理的分区数据fetch到reduceTask所在的机器节点上,然后以键值对