我正在将我的Spark版本从3.1.1升级到3.3.0(实际上是Glue 3.0到Glue 4.0),并面临性能问题。我可以在spark UI日志中看到出现了额外的shuffle。另外,我可以看到在3.1.1版本中有很多ReusedExchange,然而,在3.3.0中没有ReusedExcange。测试已经在相同的数据集和相同的转换上完成。
任何建议如何管理这个?
而且我两个都试过了
spark.sql.adaptive.enabled = false / true,
结果是一样的
我正在将我的Spark版本从3.1.1升级到3.3.0(实际上是Glue 3.0到Glue 4.0),并面临性能问题。我可以在spark UI日志中看到出现了额外的shuffle。另外,我可以看到在3.1.1版本中有很多ReusedExchange,然而,在3.3.0中没有ReusedExcange。测试已经在相同的数据集和相同的转换上完成。
任何建议如何管理这个?
而且我两个都试过了
spark.sql.adaptive.enabled = false / true,
结果是一样的
1条答案
按热度按时间vecaoik11#
从Spark 3.2开始,它默认启用了优化选项,在我的例子中,将spark.sql.adaptive.coalescePartitions.parallelismFirst设置为false解决了性能问题。
更多详情见https://dev.to/aplotnikov/spark-tip-disable-adaptive-query-execution-aqe-for-compute-intensive-tasks-5bl0