美文网首页
Spark Join 源码剖析② - BroadcastHash

Spark Join 源码剖析② - BroadcastHash

作者: 牛肉圆粉不加葱 | 来源:发表于2024-01-30 07:48 被阅读0次

一、如何选取到 broadcast join

Join 具有 hint 的情况会调用 createBroadcastHashJoin(onlyLookingAtHint = true),若 Join 没有 hint 的情况调用 createBroadcastHashJoin(onlyLookingAtHint = false)

二、BroadcastHashJoinExec

执行两个子 relation 的 inner hash join。 构造此运算符的输出 RDD 时,将异步启动一个 Spark 作业来计算 broadcast relation 的值。 然后,此数据将放置在 Spark 广播变量中。 streamed relation 不需要 shuffle。

2.1、执行原理

BroadcastHashJoinExec#doExecute()

2.2、Broadcast Join 物理执行计划及最终执行计划

2.3、broadcast 执行原理

三、ShuffledHashJoinExec

3.1、如何选取到 shuffle hash join

3.2、Shuffle Hash Join 物理执行计划及最终执行计划

3.3、执行原理

ShuffleHashJoinExec#doExecute()

相关文章

网友评论

      本文标题:Spark Join 源码剖析② - BroadcastHash

      本文链接:https://www.haomeiwen.com/subject/ekfpsrtx.html