gpt4 book ai didi

python - 在 PySpark 中以编程方式设置驱动程序的内存大小

转载 作者:太空狗 更新时间:2023-10-29 22:21:30 26 4
gpt4 key购买 nike

为了编写独立脚本,我想直接从 Python 启动和配置 Spark 上下文。使用 PySpark 的脚本,我可以设置驱动程序的内存大小:

$ /opt/spark-1.6.1/bin/pyspark
... INFO MemoryStore: MemoryStore started with capacity 511.5 MB ...
$ /opt/spark-1.6.1/bin/pyspark --conf spark.driver.memory=10g
... INFO MemoryStore: MemoryStore started with capacity 7.0 GB ...

但是从Python模块启动context时,无法设置driver的内存大小:

$ export SPARK_HOME=/opt/spark-1.6.1                                                                                                                                                                                                                                                                                                                
$ export PYTHONPATH=$PYTHONPATH:$SPARK_HOME/python
$ python
>>> from pyspark import SparkConf, SparkContext
>>> sc = SparkContext(conf=SparkConf().set('spark.driver.memory', '10g'))
... INFO MemoryStore: MemoryStore started with capacity 511.5 MB ...

我知道的唯一解决方案是在sparks-default.conf 中设置spark.driver.memory,这并不令人满意。如 this post 中所述,一旦 JVM 启动,Java/Scala 就无法更改驱动程序的内存大小是有意义的。在导入 pyspark 模块之前或之时,有没有办法以某种方式从 Python 动态配置它?

最佳答案

像你这样使用 conf 是没有意义的。尝试将此序言添加到您的代码中:

memory = '10g'
pyspark_submit_args = ' --driver-memory ' + memory + ' pyspark-shell'
os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args

关于python - 在 PySpark 中以编程方式设置驱动程序的内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37986963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com