Передача аргументов из файла в несколько заданий поиска
Можно ли иметь один главный файл, в котором хранится список аргументов, на который можно ссылаться из 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)