繁体   English   中英

如何为 spark 作业确定更好的 spark.sql.shuffle.partitions 数

[英]How to decide the better spark.sql.shuffle.partitions number for a spark job

我的日常 Spark 应用程序处理所有数据湖步骤,从处理原始层(重复数据删除和 etl 函数)开始,创建 DW 和数据集市......当我启动 sparkSession 时,我无法决定什么是spark.sql的更好配置。 shuffle.partitions值。 我的集群配置:

  • 7 个活动节点
  • 738.50 GB 内存总计
  • 星火版本 2.1.0

我的问题是:如何选择spark.sql.shuffle.partitions的更好值以在我的 spark 作业中获得性能。 谢谢

对此没有标准答案。 但一般来说,首先从高水平的并行性开始(即大 nb. 分区)。

建议每个内核 2 到 4 个任务。

通常,我们建议集群中的每个 CPU 核心 2-3 个任务。

因此,在您的示例中,有 7 个节点,您需要知道核心数,因为每个节点可以有多个执行程序,每个执行程序可以有多个核心。

关于内存,这取决于你的数据集有多大,你在做什么样的操作,数据是否有倾斜等等。

而且.. 为什么不试试最新的 Spark,它已经给你带来了更多的优化? :)

相关答案在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM