2015-11-19 2 views
0

SparkConf на pyspark не читает аргументы конфигурации, переданные в spark-submit.SparkConf не читает искру-представить аргументы

Мой питон код что-то вроде

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 

, но ни один из аргументов конфигурации не применяются. То есть приложение выполняется со значениями по умолчанию local [*] для master, 1g для памяти драйвера и 1g для памяти исполнителей. Это было подтверждено графическим интерфейсом Spark.

Однако аргументы конфигурации следуют, если я использую pyspark подать заявку:

PYSPARK_PYTHON="/opt/anaconda/bin/python" pyspark --master local[4] \ 
--conf="spark.driver.memory=8g" 

Обратите внимание, что --executor-memory 16g был также изменен на --conf="spark.executor.memory=16g", потому что первый не работает.

Что я делаю неправильно?

ответ

0

Видимо, порядок аргументов имеет значение. Последним аргументом должно быть имя скрипта python. Таким образом, вызов должен быть

PYSPARK_PYTHON="/opt/anaconda/bin/python" spark-submit foo.py \ 
    --master local[4] --conf="spark.driver.memory=16g" --executor-memory 16g 

или, следуя @ Глени-Helles-sindholt посоветуйте, в

PYSPARK_PYTHON="/opt/anaconda/bin/python" spark-submit foo.py \ 
    --master local[4] --driver-memory 16g --executor-memory 16g 
3

Я считаю, что вам необходимо удалить = с --conf=. Ваш spark-submit сценарий должен быть

PYSPARK_PYTHON="/opt/anaconda/bin/python" spark-submit foo.py \ 
--master local[4] --conf spark.driver.memory=16g --executor-memory 16g 

Обратите внимание, что искровым представить также поддерживает установку памяти водителя с флагом --driver-memory 16G

+0

Не работает :( – ianalis

+0

Это не имеет никакого смысла для меня. Вы можете вставить в команде точно так же, как вы пробовали? –

+0

Я скопировал почти ту команду, которую вы предложили, за исключением имени файла. – ianalis

Смежные вопросы