为什么不显示 AQE?

问题描述

我的代码就像

sql = '''
SELECT ...
FROM a 
LEFT JOIN b ON ...
LEFT JOIN c ON ...
LEFT JOIN d ON ...
'''
df = spark.sql(sql)
(df
 .repartition('col')
 .write
 .format('parquet')
 .mode('overwrite')
 .partitionBy('col')
 .option(...)
 .saveAsTable('...')
)

最终计划显示 2 个广播连接和 1 个 SortMergeJoin。 SortMergeJoin 是 100+ 到 200+ 百万行表之间的 LEFT JOIN。它有偏斜。我的问题是我启用了 AQE,并使用了一些配置(例如使用 spark.sql.shuffle.partitions=40000,spark.default.parallelism=400),但我没有看到 AQE 合并,也没有看到 AdaptiveSparkPlan 节点。 我看到很多 AQE 的例子都在使用 GROUP BY。 AQE 仅适用于 GROUP BY 吗?为什么我的查询没有显示 AdaptiveSparkPlan 节点?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)