Apache spark Spark提交执行器内存问题

Apache spark Spark提交执行器内存问题,apache-spark,apache-spark-sql,yarn,Apache Spark,Apache Spark Sql,Yarn,我有一个10节点的集群,8个DNs(256 GB,48个核心)和2个NNs。我有一个spark sql作业正在提交给纱线集群。以下是我用于spark submit的参数。 --num执行者8\ --执行器核心50\ --驱动器存储器20G\ --执行器存储器60G\ 如上所述,执行器内存为60GB,但当我检查Spark UI时,显示为31GB。 1) 谁能解释一下为什么显示的是31GB而不是60GB。 2) 还有助于为上述参数设置最佳值。我认为 分配的内存分为两部分: 1.存储(缓存数据帧/表

我有一个10节点的集群,8个DNs(256 GB,48个核心)和2个NNs。我有一个spark sql作业正在提交给纱线集群。以下是我用于spark submit的参数。 --num执行者8\ --执行器核心50\ --驱动器存储器20G\ --执行器存储器60G\ 如上所述,执行器内存为60GB,但当我检查Spark UI时,显示为31GB。

1) 谁能解释一下为什么显示的是31GB而不是60GB。 2) 还有助于为上述参数设置最佳值。

我认为

分配的内存分为两部分: 1.存储(缓存数据帧/表) 2.正在处理(您可以看到的)

31gb是可用于处理的内存。 使用spark.memory.fraction属性增加/减少可用于处理的内存

我建议将executor Core减少到8-10左右

我的配置:

spark shell--executor memory 40g--executor cores 8--num executors 100--conf spark.memory.fraction=0.2我想

分配的内存分为两部分: 1.存储(缓存数据帧/表) 2.正在处理(您可以看到的)

31gb是可用于处理的内存。 使用spark.memory.fraction属性增加/减少可用于处理的内存

我建议将executor Core减少到8-10左右

我的配置:


spark shell--执行器内存40g--执行器内核8--num executors 100--conf spark.memory.fraction=0.2

--num executors 100?我只有8个域名。这行吗?我有730.6克的文件要处理。40G执行器内存会与联接和所有执行器一起工作吗?--num executors 100?我只有8个域名。这行吗?我有730.6克的文件要处理。40G执行器内存会与连接和所有连接一起工作吗?