gpt4 book ai didi

apache-spark - 当 shuffle 分区大于 200 时会发生什么(数据帧中的 spark.sql.shuffle.partitions 200(默认情况下))

转载 作者:行者123 更新时间:2023-12-02 02:40:09 31 4
gpt4 key购买 nike

打乱数据的 spark sql 聚合操作,即 spark.sql.shuffle.partitions 200(默认情况下)。当 shuffle partition 大于 200 时,性能会发生什么变化。

当分区数大于 2000 时,Spark 使用不同的数据结构进行随机簿记。因此,如果分区数接近 2000,则将其增加到 2000 以上。

但我的问题是当 shuffle 分区大于 200(比方说 300)时会有什么行为。

最佳答案

根据相对较大的集群上的典型工作负载,为作业分配了足够的资源,默认选择数字 200。否则,应根据 2 个因素选择此数字 - 可用内核数和分区大小(建议使分区接近 100Mb)。所选的分区数应该是可用内核数的倍数,但不应太大(通常是内核数的 1-3 倍)。如果分区数大于默认值,则不应更改 Spark 的行为 - 它只会增加 Spark 需要执行的任务数。

你可以看this talk from Spark + AI Summit 2019 - 它涵盖了很多关于 Spark 程序优化的细节,包括分区数量的选择。

关于apache-spark - 当 shuffle 分区大于 200 时会发生什么(数据帧中的 spark.sql.shuffle.partitions 200(默认情况下)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63761042/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com