uds*_*cbt 6 python apache-spark pyspark
为了编写独立脚本,我想直接从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 ...
Run Code Online (Sandbox Code Playgroud)
但是当从Python模块启动上下文时,无法设置驱动程序的内存大小:
$ 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 ...
Run Code Online (Sandbox Code Playgroud)
我所知道的唯一的解决办法是设置spark.driver.memory
在sparks-default.conf
,这是不令人满意的.正如在解释这个职位,这是有道理的Java /斯卡拉不能够能够一旦JVM开始更改驱动程序的内存大小.在导入pyspark
模块之前或导入模块时,有没有办法以某种方式从Python动态配置它?
小智 8
正如你所做的那样使用conf是没有意义的.尝试将此序言添加到您的代码中:
memory = '10g'
pyspark_submit_args = ' --driver-memory ' + memory + ' pyspark-shell'
os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5520 次 |
最近记录: |