原理:

问题点
1、参数设置:
| spark.sql.adaptive.join.enabled
|
AE 相关,开启后能够根据数据量自动判断能否将 sortMergeJoin 转换成 broadcast join |
true |
| spark.sql.broadcastTimeout |
broadcast joins 时,广播数据最长等待时间,网络不稳定时,容易出现超时造成任务失败,可适当增大此参数 |
300(单位:s) |
| spark.sql.autoBroadcastJoinThreshold |
表能够使用 broadcast join 的最大阈值
|
20971520(20MB) |
2、当广播变量的表为1G,但是子查询之后为1M,这样还能广播出去吗?(sortMergeJoin 转换成 broadcast join)
B表为1G,但是筛选之后为1M。
答案:不能。

本文探讨了Spark中广播变量的使用,强调了其在大数据处理中的作用。针对一个问题点,即当广播变量的表经过筛选后大小显著减小是否仍能进行广播,答案是否定的。文章指出在B表原始大小为1G,但经过筛选后变为1M的情况下,不能继续使用广播join。作者计划后续补充验证实验。
最低0.47元/天 解锁文章
1155

被折叠的 条评论
为什么被折叠?



