Apache spark 所用纱线芯:纱线上的火花

Apache spark 所用纱线芯:纱线上的火花,apache-spark,hadoop,pyspark,yarn,Apache Spark,Hadoop,Pyspark,Yarn,我正在提交以下配置的纱线spark应用程序 conf.set("spark.executor.cores", "3") conf.set("spark.executor.memory", "14g") conf.set("spark.executor.instances", "4") conf.set("spark.driver.cores", "5") conf.set("spark.driver.memory", "1g") 但是,在纱线资源管理器UI上显示的是vCores used=5,

我正在提交以下配置的纱线spark应用程序

conf.set("spark.executor.cores", "3")
conf.set("spark.executor.memory", "14g")
conf.set("spark.executor.instances", "4")
conf.set("spark.driver.cores", "5")
conf.set("spark.driver.memory", "1g")
但是,在纱线资源管理器UI上显示的是
vCores used=5
,我希望vCores used17((4x3)+5=17),即执行器为12,驱动器为5。 但它总是显示等于执行者+驱动者=5

请帮我理解这一点!
提前感谢

在spark配置中,您将看到以下内容:

Spark属性主要分为两类:一类与部署相关,如“Spark.driver.memory”、“Spark.executor.instances”,这类属性在运行时通过SparkConf编程设置时可能不受影响,或者行为取决于您选择的群集管理器和部署模式,因此建议通过配置文件或spark submit命令行选项进行设置;另一个主要与Spark运行时控制相关,如“Spark.task.maxFailures”,这种属性可以通过任何一种方式设置

您要从
spark submit
命令行设置的大多数设置,与代码中的设置相反。无论如何,这通常是一种更好的做法,因此您可以使用不同的参数启动作业,而无需重新编译它

您可能需要以下内容:

spark-submit --num-executors 4 --executor-cores 3 --executor-memory 14g --driver-memory 1g --driver-cores 5 --class <main_class> <your_jar>
spark submit--num executors 4--executor cores 3--executor memory 14g--driver memory 1g--driver cores 5--class

但是我在代码中的道具在Web UI上的“spark env tab”中得到了反映,而在Thread resource manager UI上的vCores除外