【Hadoop-MapReduce】MapReduce编程步骤及工作原理
1)MapReduce的基本介绍:分布式计算框架
思想:分而治之
map:负责分
的过程
reduce:负责合
的过程
2)MapReduce的编程规范步骤
(1)map阶段:2步
1、读取数据,将读取过来的数据转换为k1和v1。
2、自定义map逻辑,将k1和v1转换为k2和v2。
(2)shuffle阶段: 4步(接收map阶段的k2和v2转换为new k2和v2)
3、分区
: 将相同的k2的数据发往同一个reduce。
4、排序
: 针对k2的数据进行排序工作。
5、规约
: mr中优化步骤,用于进行局部聚合功能,一般是可以省略的。
6、分组
: 将相同k2的数据分成一组,将v2的数据合并形成一个集合。
(3)reduce阶段: 2步
7、自定义reduce逻辑,接收k2和v2的数据,将其转换为k3和v3。
8、输出结果,将k3和v3输出到目的地。
注意:k2就是整个MR的灵魂。
3)MapReduce的并行度机制
何为并行度: 在执行MR的时候,map运行的数量以及reduce运行数量由谁来决定的问题。
(1)map运行的数量
:取决于读取文件的大