spark代码Broadcast优化机制

Spark Join的分类和实现机制
在这里插入图片描述
Broadcast Hash Join
当Join的一张表很小的时候,使用broadcast hash join。 Broadcast Hash Join的条件有以下几个:
被广播的表需要小于spark.sql.autoBroadcastJoinThreshold所配置的信息,默认是10M;

基表不能被广播,比如left outer join时,只能广播右表。
在这里插入图片描述
broadcast hash join可以分为两步:
broadcast阶段:将小表广播到所有的executor上,广播的算法有很多,最简单的是先发给driver,driver再统一分发给所有的executor,要不就是基于bittorrete的p2p思路;

hash join阶段:在每个executor上执行 hash join,小表构建为hash table,大表的分区数据匹配hash table中的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值