当你的Spark任务中没有shuffle时,强制AQE工作的最佳方法是什么?

pgky5nke  于 2023-08-06  发布在  Apache
关注(0)|答案(1)|浏览(107)

我想使用自适应查询执行(AQE)来合并小分区,但是在没有shuffle的作业中(例如,您从某处读取某些内容并将其写入而不进行任何转换),AQE不起作用。
所以我得强迫他们 Shuffle 。什么是最好的方式来做到这一点,这样的 Shuffle 是不昂贵的?
例如,我是否应该将我的 Dataframe 连接到一个只有1行的 Dataframe 上?
还是有更好的办法?
也许我应该完全做些别的事情,而不是在这种情况下使用AQE。告诉我- 谢谢-谢谢

v8wbuo2f

v8wbuo2f1#

看起来我需要为此编写SparkExtensions。它们允许您将自己的规则添加到Catalyst Optimizer。我在这里找到了一些代码:
https://gist.github.com/GrigorievNick/2f77b26719e46c544e3f20aa48862719
还有Databricks YouTube频道上的这段视频:https://www.youtube.com/watch?v=IlovS-Y7KUk
标签:https://www.youtube.com/watch?v=8FGL7ZiYl3o

相关问题