【发布时间】:2021-03-20 13:25:30
【问题描述】:
我是 Spark SQL 的新手。我的角色涉及为数据转换编写 Spark sql 查询。最近我在 Spark SQL 中认识了Broadcast Hash Join (BHJ)。我知道BHJ 在广播表非常小时并且可以通过使用查询提示来诱导时表现非常好。
例如
select /*+ BROADCAST(B) */
*
from A
Left Join B
on A.id = B.id;
我还了解到广播连接有两种类型 - Driver BHJ 和 Executor BHJ(后者产生更好的性能)。
因此,当我在查询中使用广播提示时,Spark 是使用 Driver BHJ 还是 Executor BHJ ?
如何命令 Spark(通过提示等)诱导 Executor BHJ 而不是 Driver BHJ?
我使用 Spark SQL 2.4。
谢谢
【问题讨论】:
标签: apache-spark-sql