用于多个连接的 Spark SQL 广播 [重复]
Posted
技术标签:
【中文标题】用于多个连接的 Spark SQL 广播 [重复]【英文标题】:Spark SQL broadcast for multiple join [duplicate] 【发布时间】:2019-03-18 09:03:15 【问题描述】:我知道如何为 2 个表连接进行广播,例如:
SELECT /*+ MAPJOIN(Table1) */ COLUMN
FROM Table1 JOIN Table2
ON Table1.key = Table2.key
但是有没有办法使用广播来连接 3 个表?
SELECT /* ? */ COLUMN
FROM Table1 JOIN Table2 ON ...
JOIN Table3 ON ...
【问题讨论】:
【参考方案1】:一般情况下,小表会根据配置spark.sql.autoBroadcastJoinThreshold
自动广播。
并且会选择广播加入算法。
spark.sql.autoBroadcastJoinThreshold 默认为 10 MB(即 10L * 1024 * 1024),Spark 将检查要使用的连接(请参阅 JoinSelection 执行计划策略)。
【讨论】:
以上是关于用于多个连接的 Spark SQL 广播 [重复]的主要内容,如果未能解决你的问题,请参考以下文章