Конфигурируемые параметры кластера при запуске приложения

Параметр Описание Значение по умолчанию
spark.app.name Имя приложения Spark. Отображается в интерфейсах мониторинга и логах.  
spark.executor.memory Объем памяти, выделяемый каждому executor'у. 30g
spark.executor.cores Количество ядер CPU для каждого executor'а. 20
spark.num.executors Количество executor'ов, запускаемых для приложения.  
spark.sql.shuffle.partitions Число разделов по умолчанию, используемое при перемешивании данных для объединений или агрегаций. Примечание: Для структурированной потоковой передачи эта конфигурация не может быть изменена между перезапусками запросов из одного и того же места контрольной точки. 200
spark.default.parallelism Число разделов по умолчанию в RDD, возвращаемых такими преобразованиями, как join, reduceByKey и parallelize, если оно не задано пользователем. количество ядер в кластере
spark.files Файлы, которые нужно отправить на все узлы кластера.  
spark.jars Дополнительные JAR-файлы, необходимые приложению.  
spark.conf.<custom> Пользовательские параметры, которые можно использовать в коде приложения.  
spark.log.level Уровень логирования Spark. При установке переопределяет любые пользовательские настройки логирования, как если бы был вызван SparkContext.setLogLevel() при запуске. Допустимые значения: "ALL", "DEBUG", "ERROR", "FATAL", "INFO", "OFF", "TRACE", "WARN".  
spark.jars.packages Список Maven-координат JAR-файлов через запятую, которые будут добавлены в classpath драйвера и executor'ов. Формат: groupId:artifactId:version.  
spark.jars.excludes Список groupId:artifactId через запятую, которые необходимо исключить при разрешении зависимостей из spark.jars.packages во избежание конфликтов.  
spark.jars.repositories Список дополнительных удалённых репозиториев через запятую для поиска Maven-координат, указанных в --packages или spark.jars.packages.  
spark.archives Список архивов через запятую, которые будут распакованы в рабочую директорию каждого executor'а. Поддерживаются .jar, .tar.gz, .tgz и .zip. Можно указать имя директории для распаковки через #, например, file.zip#directory. Экспериментальная опция.  

Примечания

  • Значения параметров могут быть заданы через командную строку при запуске (--conf spark.executor.memory=4g).
  • Для подробного списка всех параметров и их значений рекомендуется обращаться к официальной документации Apache Spark.

Примеры использования

spark-submit \
  --conf spark.app.name="MyApp" \
  --conf spark.executor.memory=4g \
  --conf spark.executor.cores=2 \
  --conf spark.sql.shuffle.partitions=200 \
  my_script.py