在sparksql 中设置 shuffle 1000想实现reparation算子的效果,但实际没有效果
set spark.sql.shuffle.partitions=1000;//设置shuffle task数量
set spark.default.parallelism=1000;//设置每个stage的默认task数量
后面查询后,发现要同时关闭动态分区
set spark.sql.adaptive.enabled=false;
在SparkSQL中,尝试通过设置`spark.sql.shuffle.partitions=1000`和`spark.default.parallelism=1000`来影响repartition操作,但发现没有达到预期效果。问题可能在于动态分区默认是开启的,这可能干扰了shuffle的行为。为确保shuffle按照预设进行,需要关闭动态分区,即`spark.sql.adaptive.enabled=false`。这样配置后,查询会按照设定的分区数执行。
在sparksql 中设置 shuffle 1000想实现reparation算子的效果,但实际没有效果
set spark.sql.shuffle.partitions=1000;//设置shuffle task数量
set spark.default.parallelism=1000;//设置每个stage的默认task数量
后面查询后,发现要同时关闭动态分区
set spark.sql.adaptive.enabled=false;
702

被折叠的 条评论
为什么被折叠?