本文針對 版本spark 2.2
問題描述
spark sql 執行sql語句:
big_table a left join small_table b on a.id = b.id
small_table 只有100多行數據。
big_table 大約5億行數據。
沒有觸發 spark sql 的 broadcast join,導致sql執行緩慢。
問題排查
broadcast join 自動觸發條件。
- 小表的size是否小於spark.sql.autoBroadcastJoinThreshold設定的值。
- 表大小的估算通過hive元數據庫的統計值,即要保證 ANALYZE TABLE COMPUTE STATISTICS no