spark基本常识(三)====shuffle

本文深入解析Spark中的Shuffle机制,包括其原因、分类及涉及的RDD算子。详细介绍了hashshuffle、sortshuffle和钨丝shuffle的特点,以及reduceByKey、groupByKey等算子如何触发Shuffle过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇讲了RDD,这篇讲RDD的shuffle一些知识与诸君分享
什么是shuffle,以及为什么需要shuffle?

shuffle中文翻译为洗牌,需要shuffle的原因是: 具有共同特征的数据汇聚到一个计算节点上进行计算

spark中shuffle的分类

主要分三种:
1、hashshuffle : 默认不排序,直接进行shuffle
2、sortshuffle :默认先进行排序。在shuffle
3、钨丝(Tungsten) shuffle : 在sortshuffle的基础上对内存进行了优化

那么在RDD算子中那些算子是shuffle算子呢?

一般by,bykey型的算子都要经过shuffle过程

reduceByKey, | groupByKey,
sortByKey, countByKey,
join(未分组数据), cogroup,leftOuterjoin,
rightOuterjoin, coalesce(参数为true时),
repartition, combineByKey,
aggregateByKey, groupBy,
distinct, sortByKey,sortBy,
countByKey, intersection(交集),subtract(差集)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值