Apache spark Spark忽略执行器和驱动程序内存的配置

Apache spark Spark忽略执行器和驱动程序内存的配置,apache-spark,pyspark,Apache Spark,Pyspark,我试图增加Spark中执行器和驱动程序的内存分配,但我有一种奇怪的感觉,Spark忽略了我的配置 我正在使用以下命令: spark提交spark_consumer.py--驱动程序内存=10G --executor memory=5G--conf spark.executor.extraJavaOptions='-XX:+UseParallelGC -XX:+PrintGCDetails-XX:+PrintGCTimeStamps' 我的初始化代码是 class SparkRawConsumer

我试图增加Spark中执行器和驱动程序的内存分配,但我有一种奇怪的感觉,Spark忽略了我的配置

我正在使用以下命令:

spark提交spark_consumer.py--驱动程序内存=10G --executor memory=5G--conf spark.executor.extraJavaOptions='-XX:+UseParallelGC -XX:+PrintGCDetails-XX:+PrintGCTimeStamps'

我的初始化代码是

class SparkRawConsumer:

    def __init__(self, filename):
        self.sparkContext = SparkContext.getOrCreate()

        self.sparkContext.setLogLevel("ERROR")
        self.sqlContext = SQLContext(self.sparkContext)
从理论上讲,我应该看到我的驱动程序总共有10GB的可用内存。但是,我在Spark UI中看到了这一点(我的可用内存小于400MB):


为什么Spark会忽略我正在传递的配置?

定义Spark配置有3种不同的方法

1) spark-env.sh

2) spark提交参数

3) 硬编码sparkConf,例如:
sparkConf.set(“spark.driver.memory”,“10G”)

优先级为:硬编码>spark提交>spark.env

如果您认为您的参数被其他内容覆盖,您可以使用以下选项进行检查:
sparkConf.getOption(“spark.driver.memory”)

如果您想确保您的选项不被硬代码覆盖,请将其覆盖


您可以在这里看到所有选项:

这里的问题是我错误地指定了参数的顺序。键入
spark submit--help
明确指定输入参数的顺序,以
spark submit

Usage: spark-submit [options] <app jar | python file | R file> [app arguments]

我不相信您可以在应用程序中设置内存配置。我已经尝试了你的所有三种方法,
spark submit
是我目前唯一可以使用的方法。你能在选项中提供一些硬编码的示例吗?
spark-submit --driver-memory 8G --executor-memory 8G spark_consumer.py