为什么驱动程序内存不在我的 Spark 上下文配置中?

Why driver memory is not in my Spark context configuration?

当我运行以下命令时:

spark-submit --name "My app" --master "local[*]" --py-files main.py --driver-memory 12g --executor-memory 12g

在我的 main.py 中使用以下代码:

sc = SparkContext.getOrCreate()
print(sc.getConf().getAll())

驱动程序内存和执行程序内存未出现在配置中。即使我处于本地模式,我想我至少应该在配置中包含驱动程序内存。

知道为什么不是这样吗?

您的提交命令不正确。 confs 应该出现在 .py 文件之前。见 Launching Applications with spark-submit:

 ./bin/spark-submit \
  --class <main-class> \
  --master <master-url> \
  --deploy-mode <deploy-mode> \
  --conf <key>=<value> \
  ... # other options
  <application-jar> \
  [application-arguments]

[...] For Python applications, simply pass a .py file in the place of <application-jar> instead of a JAR, and add Python .zip, .egg or .py files to the search path with --py-files.

这么说,你的命令应该是这样的:

spark-submit --name "My app" \
--master "local[*]" \
--driver-memory 12g \
--conf spark.executor.memory=12g \
/path_to/main.py