我使用的是 Spark 2.3.2.3.1.0.0-78。 我尝试使用
spark_session.sparkContext._conf.get('spark.executor.memory')
但我只收到
None
。
如何获取
spark.executor.memory
的值?
如果您收到
None
,则意味着您正在使用 1g
的默认值(请参阅 docs)。仅当您在 spark.executor.memory
或 spark-submit
命令中专门为 pyspark
指定一个值时,您才能够检索非空值。
所以你仍然可以以编程方式说,如果你的
._conf.get()
的输出是None
,你的执行器有1G内存。
演示:
在命令行中无需任何特殊配置即可启动
pyspark
shell:
pyspark
然后执行命令来获取配置的值,会得到一个空值:
>>> sc._conf.get("spark.executor.memory")
使用不同的
pyspark
值启动 spark.executor.memory
shell:
pyspark --conf spark.executor.memory=2g
然后执行该命令确实会返回一个值:
>>> sc._conf.get("spark.executor.memory")
'2g'