【发布时间】:2021-07-14 12:00:57
【问题描述】:
下图是spark sql union的。
其中一个任务 shuffle write 比其他任务慢很多。
而且我确信每个任务输入的大小都非常接近。
每次任务索引 205 都比其他的慢。
当我重试sql时,任务索引205也很慢。
我想知道在相同的输入大小下,是什么让一个任务随机写入如此缓慢。
【问题讨论】:
标签: apache-spark
下图是spark sql union的。
其中一个任务 shuffle write 比其他任务慢很多。
而且我确信每个任务输入的大小都非常接近。
每次任务索引 205 都比其他的慢。
当我重试sql时,任务索引205也很慢。
我想知道在相同的输入大小下,是什么让一个任务随机写入如此缓慢。
【问题讨论】:
标签: apache-spark
尝试使用 repartition(number-of-partitions) 来增加并行度。这将有助于将负载分散到更多分区。
另外,如果您的数据不是太大,请考虑将 spark.sql.shuffle.partitions 默认值从 200 减少到 20 或者可能是 10。
希望这会有所帮助!
【讨论】: