第27课:彻底解密Spark Shuffle令人费解的6大经典问题(课程内容全球独家)

本课程详细探讨Spark Shuffle的六个核心问题,包括fetch操作何时启动、数据存储位置、数据存储与定位、HashShuffle中间文件数量、Sorted-Based Shuffle的排序特性以及Tungsten-Sorted Shuffle的工作原理。讲解了Spark与Hadoop MapReduce在Shuffle过程中的差异,并深入分析了内存与磁盘的使用策略、Consolidation机制以及不同Shuffle方式的适用场景。
摘要由CSDN通过智能技术生成

第27课:彻底解密Spark Shuffle令人费解的6大经典问题(课程内容全球独家)

 

Shuffle的第一大问题:什么时候进行shuffle的fetch操作?Shuffle具体在什么时候开始运行(是在一边Mapper的map操作同时进行

reduce端的shuffle的reduce操作吗)?
错误的观点:Spark是一遍Mapper一遍Shuffle,而Hadoop的MapReduce是先完成Mapper然后才进行Reducer的shuffle。
事实是:Spark一定是先完成Mapper端所有的Tasks,才会进行Reducer端的shuffle过程。
原因:Spark的job是按照stage线性执行的,前面的stage必须执行完才能够执行后面的Reducer的shuffle过程。
补充说明:Spark的shuffle是边拉取数据边进行Aggregate操作的。其实与Hadoop MapReduce相比起优势确实在速度上。但是也会导致一
些算法不好实现,例如求平均值等。(但是spark提供了一些内置函数)


Shuffle的第二大问题:shuffle fetch过来的数据到底放到了哪里?

抓过来的数据首先肯定是放在reducer端的内存缓冲区中的,spark曾经有版本要求只能放在内存缓存中,数据结构类

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

段智华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值