Spark Exchange节点和Partitioning

​Exchange

在explain时,常看到Exchange节点,这个节点其实就是发生了数据交换


此图片来自于网络截取

BroadcastExchangeExec 主要是用来广播的

ShuffleExchangeExec 里面决定了数据分布的方式和采用哪种shuffle

在这里可以看到好几种不同的分区器

shufleManager创建不同的shuffle方式

Distribution与Partitioning

Distribution与Partitioning关联,定义了数据在集群各个节点上的分布情况

Distribution:

有6个子类

Partitioning和对应的子类

|----------------------------------------|----------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|--------------------------|
| Distribution子类 | 描述 | 算子示例 | 调用createPartitioning()方法 |
| UnspecifiedDistribution | 未指定分布,无需确定数据元组之间的位置关系 | | 抛出异常 |
| AllTuples | 只有一个分区,所有的数据元组存放在一起 | 例如GlobalLimit算子 | SinglePartition |
| BroadcastDistribution | 广播分布,数据会广播到所有节点上,构造参数mode为广播模式(BroadcastMode) | 例如Broadcast的Join操作中的requiredChildDistribution为BroadcastDistribution(mode) | BroadcastPartitioning |
| ClusteredDistribution | 构造参数clustering是SeqExpression类型,起到哈希函数的效果,经过clustering之后,相同的value数据会放到一个分区中 | 例如SortAggregateExec类型的Join操作中的requiredChildDistribution就是ClusteredDistribution(exprs) | HashPartitioning |
| HashClusteredDistribution 3.3 移出 | 构造参数expressions是SeqExpression类型,起到哈希函数的效果,经过expressions之后,相同的value数据会放到一个分区中 | 例如SortMerge类型的Join操作中的requiredChildDistribution就是HashClusteredDistribution(leftKeys), HashClusteredDistribution(reghtKeys) | HashPartitioning |
| OrderedDistribution | 构造参数ordering是SeqSortOrder类型,数据会根据ordering计算后的结果排序 | 例如在全局的Sort算子中,requiredChildDistribution就是OrderedDistribution(sortOrder) | RangePartitioning |
| StatefulOpClusteredDistribution 3.3 新增 | | | |

相关推荐
FII工业富联科技服务4 小时前
Omniverse + Isaac Teleop + 合成数据:工业富联机器人大脑训练+执行落地闭环拆解
大数据·人工智能·深度学习·机器学习·机器人·制造·具身智能
airank6 小时前
2026年GEO服务商选型指南:系统梳理服务商分类框架、主流服务商能力横评、企业级选型六大维度及避坑要点,帮助企业在AI搜索时代做出科学决策。
大数据·人工智能·数据分析·aigc
Delite8027 小时前
摆脱实验室束缚:便携式卡尔费休微量水分检测技术与现场应用解析
大数据·网络·人工智能
袋鼠云数栈7 小时前
实时湖仓如何真正做到“数据够新”?
大数据·数据库·人工智能·数据治理
ACP广源盛139246256737 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#YLB3116 中端多盘存储扩展在 AI 服务中的机会与应用场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
大大大大晴天7 小时前
大数据数据治理到底治理什么:从“数据可用”到“数据可信”
大数据
ACP广源盛139246256737 小时前
M6/M5 Pro Mac mini 端侧 AI 新形态@ACP#GSV5800 Serdes 长距离视频传输在 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos·音视频
策案案案9 小时前
YOLO: 将AI Agents嵌入到IntelliJ IDEA
java·大数据·人工智能·笔记·yolo·microsoft·intellij-idea
一支标10 小时前
【手机+电脑】通达信《K策王》策略战法K策王技术副图指标使用说明
大数据·智能手机·电脑
坐吃山猪10 小时前
【多线程】Lock与Condition
大数据·数据库