2017-01-27 2 views
4

Я пытаюсь перезаписать конфигурацию по умолчанию искровой сессии/искрового контекста, но он собирает весь ресурс узла/кластера.spark 2.1.0 настройки сеансовой настройки (pyspark)

spark = SparkSession.builder 
         .master("ip") 
         .enableHiveSupport() 
         .getOrCreate() 

spark.conf.set("spark.executor.memory", '8g') 
spark.conf.set('spark.executor.cores', '3') 
spark.conf.set('spark.cores.max', '3') 
spark.conf.set("spark.driver.memory",'8g') 
sc = spark.sparkContext 

Он отлично работает, когда я положил в конфигурации искры представить

spark-submit --master ip --executor-cores=3 --diver 10G code.py 
+0

Что такое менеджер ресурсов? Spark Standalone/YARN – mrsrinivas

+0

Spark standalone – Harish

+0

Другим способом с 2.0 является 'conf = (SparkConf(). Set (" spark.executor.cores "," 3 ")); spark = SparkSession.builder .master ("ip"). conf (conf = conf) .enableHiveSupport() .getOrCreate() ' – mrsrinivas

ответ

6

Вы на самом деле не перезаписать что-нибудь с этим кодом. Только так вы можете сами убедиться в следующем.

Как только вы начинаете pyspark тип оболочки:

sc.getConf().getAll() 

Это покажет вам все текущие настройки конфигурации. Затем попробуйте свой код и сделайте это снова. Ничего не меняется.

Вместо этого вы должны создать новую конфигурацию и использовать ее для создания SparkContext. Делают это так:

conf = pyspark.SparkConf().setAll([('spark.executor.memory', '8g'), ('spark.executor.cores', '3'), ('spark.cores.max', '3'), ('spark.driver.memory','8g')]) 
sc.stop() 
sc = pyspark.SparkContext(conf=conf) 

Затем вы можете проверить себя так же, как выше:

sc.getConf().getAll() 

Это должно отражать конфигурацию, которую вы хотели.

+1

В искры 2.1.0/2.2.0 мы можем определить sc = pyspark.SparkContext как это. Нет опции для передачи параметра. – Harish

+0

Вы говорите, что его невозможно передать? Документы все еще перечислены в качестве аргумента, см. [Здесь] (http://spark.apache.org/docs/latest/api/python/pyspark.html#pyspark.SparkContext) – Grr

+1

[См. Здесь https: // spark .apache.org/docs/latest/api/python/pyspark.sql.html # module-pyspark.sql]. я не совсем понимаю, что является точкой входа сейчас? – Harish

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