SparkConf 不读取 spark-submit 参数
SparkConf not reading spark-submit arguments
pyspark 上的 SparkConf
不读取传递给 spark-submit
.
的配置参数
我的 python 代码类似于
from pyspark import SparkContext, SparkConf
conf = SparkConf().setAppName("foo")
sc = SparkContext(conf=conf)
# processing code...
sc.stop()
我用
提交
PYSPARK_PYTHON="/opt/anaconda/bin/python" spark-submit foo.py \
--master local[4] --conf="spark.driver.memory=16g" --executor-memory 16g
但应用了 none 个配置参数。也就是说,应用程序的执行默认值为 local[*] master,驱动程序内存为 1g,执行程序内存为 1g。 Spark GUI 证实了这一点。
但是,如果我使用 pyspark 提交应用程序,则遵循配置参数:
PYSPARK_PYTHON="/opt/anaconda/bin/python" pyspark --master local[4] \
--conf="spark.driver.memory=8g"
请注意,--executor-memory 16g
也已更改为 --conf="spark.executor.memory=16g"
,因为前者也不起作用。
我做错了什么?
我认为您需要从 --conf=
中删除 =
符号。您的 spark-submit
脚本应该是
PYSPARK_PYTHON="/opt/anaconda/bin/python" spark-submit foo.py \
--master local[4] --conf spark.driver.memory=16g --executor-memory 16g
请注意,spark-submit 还支持使用标志 --driver-memory 16G
设置驱动程序内存
显然,参数的顺序很重要。最后一个参数应该是 python 脚本的名称。所以,电话应该是
PYSPARK_PYTHON="/opt/anaconda/bin/python" spark-submit \
--master local[4] --conf="spark.driver.memory=16g" --executor-memory 16g foo.py
或者,按照@glennie-helles-sindholt 的建议,
PYSPARK_PYTHON="/opt/anaconda/bin/python" spark-submit \
--master local[4] --driver-memory 16g --executor-memory 16g foo.py
SparkConf
不读取传递给 spark-submit
.
我的 python 代码类似于
from pyspark import SparkContext, SparkConf
conf = SparkConf().setAppName("foo")
sc = SparkContext(conf=conf)
# processing code...
sc.stop()
我用
提交PYSPARK_PYTHON="/opt/anaconda/bin/python" spark-submit foo.py \
--master local[4] --conf="spark.driver.memory=16g" --executor-memory 16g
但应用了 none 个配置参数。也就是说,应用程序的执行默认值为 local[*] master,驱动程序内存为 1g,执行程序内存为 1g。 Spark GUI 证实了这一点。
但是,如果我使用 pyspark 提交应用程序,则遵循配置参数:
PYSPARK_PYTHON="/opt/anaconda/bin/python" pyspark --master local[4] \
--conf="spark.driver.memory=8g"
请注意,--executor-memory 16g
也已更改为 --conf="spark.executor.memory=16g"
,因为前者也不起作用。
我做错了什么?
我认为您需要从 --conf=
中删除 =
符号。您的 spark-submit
脚本应该是
PYSPARK_PYTHON="/opt/anaconda/bin/python" spark-submit foo.py \
--master local[4] --conf spark.driver.memory=16g --executor-memory 16g
请注意,spark-submit 还支持使用标志 --driver-memory 16G
显然,参数的顺序很重要。最后一个参数应该是 python 脚本的名称。所以,电话应该是
PYSPARK_PYTHON="/opt/anaconda/bin/python" spark-submit \
--master local[4] --conf="spark.driver.memory=16g" --executor-memory 16g foo.py
或者,按照@glennie-helles-sindholt 的建议,
PYSPARK_PYTHON="/opt/anaconda/bin/python" spark-submit \
--master local[4] --driver-memory 16g --executor-memory 16g foo.py