shuffle阶段做了什么?什么是shuffle阶段?

news/2024/12/23 6:29:28/

直白点来说map输出到reduce输入的中间过程就是shuffle阶段,那么现在就来说下shuffle做了什么:

(1)collect阶段:将 MapTask 的结果输出到默认大小为 100M 的环形缓冲区,

保存的是 key/value,Partition 分区信息等。

(2)spill阶段:当内存中的数据量达到一定的阀值的时候,就会将数据写

入本地磁盘,在将数据写入磁盘之前需要对数据进行一次排序的操作,如果配置

了 combiner,还会将有相同分区号和 key 的数据进行排序。

(3)merge阶段:把所有溢出的临时文件进行一次合并操作,以确保一个

MapTask 最终只产生一个中间数据文件。

(4)copy阶段:ReduceTask 启动 Fetcher 线程到已经完成 MapTask 的节点

上复制一份属于自己的数据,这些数据默认会保存在内存的缓冲区中,当内存的

缓冲区达到一定的阀值的时候,就会将数据写到磁盘之上。

(5)merge阶段:在 ReduceTask 远程复制数据的同时,会在后台开启两个线

程对内存到本地的数据文件进行合并操作。

(6)sort阶段:在对数据进行合并的同时,会进行排序操作,由于 MapTask

阶段已经对数据进行了局部的排序,ReduceTask 只需保证 Copy 的数据的最终整

体有效性即可。

Shuffle 中的缓冲区大小会影响到 mapreduce 程序的执行效率,原则上说,

缓冲区越大,磁盘 io 的次数越少,执行速度就越快

缓冲区的大小可以通过参数调整, 参数:io.sort.mb 默认 100M


http://www.ppmy.cn/news/449925.html

相关文章

ColorUI 全网最全使用文档(建议收藏)

Color UI 我想大家都知晓吧,我就不过多阐述了,是 文晓港 大佬开发的一款适应于H5、微信小程序、安卓、ios、支付宝的高颜值,高度自定义的 Css 组件库.,属于出道即巅峰的史诗级大作,众所周知,万物皆可 Color…

Spark Shuffle

Spark Shuffle Spark Shuffle是发生在宽依赖(Shuffle Dependency)的情况下,上游Stage和下游Stage之间传递数据的一种机制。Shuffle解决的问题是如何将数据重新组织,使其能够在上游和下游task之间进行传递和计算。如果是单纯的数据传递,则只需…

mr shuffle和spark shuffle的区别

前言 对比mr和spark,Shuffle 过程有着诸多类似,例如,Shuffle 过程中,提供数据的一端被称作 Map 端,Map 端每个生成数据的任务称为 Mapper,对应的,接收数据的一端被称作 Reduce 端,…

Shuffle介绍

一 概述 Shuffle就是对数据进行重组,由于分布式计算的特性和要求,在实现细节上更加繁琐和复杂 在MapReduce框架,Shuffle是连接Map和Reduce之间的桥梁,Map阶段通过shuffle读取数据并输出到对应的Reduce;而Reduce阶段负…

Hadoop中的Shuffle 与 Spark中的Shuffle的区别与联系

MapReduce过程、Spark和Hadoop以Shuffle为中心的对比分析 mapreduce与Spark的map-Shuffle-reduce过程 mapreduce过程解析(mapreduce采用的是sort-based shuffle) 将获取到的数据分片partition进行解析,获得k/v对,之后交由map()进行处理. map函数处理完成之后,进入collec…

Spark的shuffle

1. Spark的shuffle阶段发生在阶段划分时,也就是宽依赖算子时。 宽依赖算子不一定发生shuffle。 2. Spark的shuffle分两个阶段,一个使Shuffle Write阶段,一个使Shuffle read阶段。 3. Shuffle Write阶段会选择分区器,比如HashP…

Spark Shuffle之Sort Shuffle

概述 Spark 1.2起默认使用Sort Shuffle,并且Sort Shuffle在map端有三种实现,分别是UnsafeShuffleWriter、BypassMergeSortShuffleWriter、SortShuffleWriter,根据运行时信息自动选择对应的实现。 三种ShuffleWriter实现 简单介绍三种Shuff…

什么是shuffle?shuffle的原理及过程

目录 一、什么是shuffle 二、为什么要引入shuffle,有哪些影响 三、shuffle的工作原理 1、shuffle的阶段 2、shuffle的中间文件 3、Shuffle Write 4、Shuffle Read 四、总结回顾 一、什么是shuffle 类比分公司的人与物和 Spark 的相关概念是这样对应的&#…