Где указать настройки Spark при запуске приложения Spark в кластере EMR - PullRequest
0 голосов
/ 01 мая 2018

Когда я запускаю приложение Spark на EMR, в чем разница между добавлением конфигов в файл spark / conf spark-defaults.conf и их добавлением при запуске spark submit?

Например, если я добавлю это в свой conf spark-defaults.conf:

spark.master         yarn
spark.executor.instances            4
spark.executor.memory               29G
spark.executor.cores                3
spark.yarn.executor.memoryOverhead  4096
spark.yarn.driver.memoryOverhead    2048
spark.driver.memory                 12G
spark.driver.cores                  1
spark.default.parallelism           48

Это то же самое, что добавить его к аргументам командной строки:

Аргументы: / home / hadoop / spark / bin / spark-submit - кластер -deploy-mode --master yarn-cluster --conf spark.driver.memory = 12 ГБ --conf spark.executor.memory = 29 ГБ --conf spark.executor.cores = 3 --conf spark.executor.instances = 4 --conf spark.yarn.executor.memoryOverhead = 4096 --conf spark.yarn.driver.memoryOverhead = 2048 --conf spark.driver.cores = 1 --conf spark.default.parallelism = 48 --класс com.emr.spark.MyApp s3n: //mybucket/application/spark/MeSparkApplication.jar

И было бы то же самое, если бы я добавил это в свой Java-код, например:

SparkConf sparkConf = new SparkConf().setAppName(applicationName);
        sparkConf.set("spark.executor.instances", "4");

1 Ответ

0 голосов
/ 02 мая 2018

Разница в приоритете. Согласно документации искра :

Свойства, установленные непосредственно в SparkConf, имеют наивысший приоритет, затем флаги передаются в spark-submit или spark-shell, затем параметры в файл spark-defaults.conf

...