在启动spark会话后,是否无法更改spark.sql.shuffle.partitions & spark.default.parallelism?

ktca8awb  于 2022-11-16  发布在  Apache
关注(0)|答案(1)|浏览(142)

只是想确认这个值在Spark会话开始后不能改变?基本上,一旦spark集群被启动并且任务正在运行,这些值是不可改变的?
原因是,如果我们自动向上扩展,而vCPU的数量超过了数据分区的数量,则会对性能造成影响。我知道,我们可以简单地使用比vCPU更多的数据分区,但是,当我们使用比vCPU更多的数据分区时,性能会受到约20%的影响。

bnlyeluc

bnlyeluc1#

不,它们不是不可变的。您可以在应用程序运行时随时更改它们,尽管更改不会对已经提交的查询生效。顺便说一句,还有Adaptive Query Execution(AQE)功能,自EMR 5.30起默认启用。此功能实际上包含多个子功能,但它的一个主要功能是允许您将初始SQL shuffle分区设置为一个较高的值,并在每个shuffle阶段之后使其自动合并为较低数量的分区,具体取决于要shuffle的数据量。

相关问题