MR(MapReduce)执行流程如下:

  1. 输入数据分片:将输入数据分成若干个数据块,每个数据块的大小可以通过配置参数指定。

  2. Map阶段:对每个数据块进行Map操作,将输入数据转换为一系列键值对。Map操作可以分布式执行,每个Map任务处理一个数据块。

  3. Shuffle阶段:将Map输出的键值对按照键进行排序,并将相同键的值聚合在一起,形成一个分组。这个过程需要将Map输出的数据传输到Reduce节点,因此也被称为数据传输阶段。

  4. Reduce阶段:对每个分组执行Reduce操作,将分组中的值合并为一个输出值。Reduce操作可以分布式执行,每个Reduce任务处理一个分组。

  5. 输出结果:将Reduce的输出写入到输出文件中。

Shuffle过程是MR执行流程中的重要阶段,其主要作用是将Map输出的数据按照键进行排序和分组,并将相同键的值传输到Reduce节点。Shuffle过程包括三个步骤:

  1. 分区(Partition):将Map输出的键值对按照键进行分区,每个分区对应一个Reduce任务。

  2. 排序(Sort):对每个分区内的键值对按照键进行排序。

  3. 归并(Merge):将相同键的值合并为一个分组,并将分组传输到对应的Reduce节点

MR执行流程以及Shuffle过程?

原文地址: http://www.cveoy.top/t/topic/hdb7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录