MR 流程

Posted xiangyuguan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MR 流程相关的知识,希望对你有一定的参考价值。

技术图片

1、输入文件分片,每一片都由一个MapTask来处理

2、Map输出的中间结果会先放在内存缓冲区中,这个缓冲区的大小默认是100M,当缓冲区中的内容达到80%时(80M)会将缓冲区的内容写到磁盘上。也就是说,一个map会输出一个或者多个这样的文件,如果一个map输出的全部内容没有超过限制,那么最终也会发生这个写磁盘的操作,只不过是写几次的问题

3、从缓冲区写到磁盘的时候,会进行分区并排序,分区指的是某个key应该进入到哪个分区,同一分区中的key会进行排序,如果定义了Combiner的话,也会进行combine操作

4、如果一个map产生的中间结果存放到多个文件,那么这些文件最终会合并成一个文件,这个合并过程不会改变分区数量,只会减少文件数量。例如,假设分了3个区,4个文件,那么最终会合并成1个文件,3个区

5、以上只是一个map的输出,接下来进入reduce阶段

6、每个reducer对应一个ReduceTask,在真正开始reduce之前,先要从分区中抓取数据

7、相同的分区的数据会进入同一个reduce。这一步中会从所有map输出中抓取某一分区的数据,在抓取的过程中伴随着排序、合并

8、reduce输出

以上是关于MR 流程的主要内容,如果未能解决你的问题,请参考以下文章

HDFS读写流程YARN_MR提交运行流程

HDFS读写流程YARN_MR提交运行流程

HDFS读写流程YARN_MR提交运行流程

HDFS读写流程YARN_MR提交运行流程

YARN基础+Yarn组件+Yarn架构和工作流程+Yarn三种调度器+MR流程+zookeeper

mapreduce--combiner使用和mr流程解析