Передача аргументов из файла в несколько заданий поиска

Можно ли иметь один главный файл, в котором хранится список аргументов, на который можно ссылаться из spark-submit команда?

Пример файла свойств, configurations.txt (не обязательно должен быть.txt): school_library = "central" school_canteen = "Nothernwall"

Ожидаемое требование:

Называя это одной искрой-подать:

spark-submit --master yarn \
--deploy-mode cluster \
--jars sample.jar \
/home/user/helloworld.py  configurations.school_library

Вызывая это в другой искры-подать:

spark-submit --master yarn \
--deploy-mode cluster \
--jars sample.jar \
/home/user/helloworld.py  configurations.school_canteen

Звоню как в другую искру-отправляю:

spark-submit --master yarn \
--deploy-mode cluster \
--jars sample.jar \
/home/user/helloworld.py  configurations.school_library configurations.school_canteen

2 ответа

Да.

Вы можете сделать это с помощью конф --files

Например, вы отправляете искровое задание с файлом конфигурации: /data/config.conf:

./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master yarn \
  --deploy-mode cluster 
  --executor-memory 20G \
  --num-executors 50 \
  --files /data/config.conf \
  /path/to/examples.jar

И этот файл будет загружен и помещен в рабочий каталог на драйвере. Таким образом, вы должны получить доступ по его имени.

Пример:

new FileInputStream("config.conf")

Можно использовать параметр Spark-submit "--properties-file". Имена свойств должны начинаться с "искры". префикс, например:

spark.mykey=myvalue

Значения в этом случае извлекаются из конфигурации (SparkConf)

Другие вопросы по тегам