【Spark】Shuffle详解

一、概要1、Shuffle调优概述Spark作业性能主要消耗在Shuffle环境,因为其中包含大量磁盘IO、序列化、网络数据传输等操作,如果想提升作业性能,有必要对Shuffle过程进行调优。但也要注意,影响Spark作业性能因素主要还是代码开发、资源参数以及数据倾斜,Shuffle调优只占一小部分,不要舍本逐末。2、Shuffle发生阶段3、触发 Shuffle 操作的算子分类操作Repartition相关repartition、coalesce、repartitionA
摘要由CSDN通过智能技术生成

一、概要

1、Shuffle调优概述

Spark作业性能主要消耗在Shuffle环境,因为其中包含大量磁盘IO、序列化、网络数据传输等操作,如果想提升作业性能,有必要对Shuffle过程进行调优。但也要注意,影响Spark作业性能因素主要还是代码开发、资源参数以及数据倾斜,Shuffle调优只占一小部分,不要舍本逐末。

2、Shuffle发生阶段

1

3、触发 Shuffle 操作的算子
分类 操作
Repartition相关 repartition、coalesce、repartitionAndSortWithinPartitions
*ByKey操作(除了countByKey) groupByKey,reduceByKey,combineByKey、aggregateByKey、sortBeyKey
Join相关 cogroup,join

二、发展演进

Spark版本 Shuffle演进
<=0.8 Hash Based Shuffle
0.8.1 为 Hash Based Shuffle引入File Consolidation机制
0.9 引入 ExternalAppendOnlyMap
1.1 引入 Sort Based Shuffle,但默认仍为 Hash Based Shuffle
1.2 默认的 Shuffle 方式改为 Sort Based Shuffle
1.4 引入 Tungsten-Sort Based Shuffle
1.6 Tungsten-Sort Based Shuffle 并入 Sort Based Shuffle
2.0 Hash Based Shuffle 退出历史舞台
0、MapReduce中Shuffle

1

注:后续Spark Shuffle都以MapReduce Shuffle为参考ÿ

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值