Apache spark 将参数从文件传递到多个spark作业

Apache spark 将参数从文件传递到多个spark作业,apache-spark,spark-submit,Apache Spark,Spark Submit,是否可以有一个主文件来存储参数列表,而不是从spark submit命令中引用 属性文件的示例configurations.txt(不必是.txt): 学校图书馆=“中央” 学校食堂=“北墙” 预期要求: 称之为一个火花提交: spark-submit --master yarn \ --deploy-mode cluster \ --jars sample.jar \ /home/user/helloworld.py configurations.school_library spar

是否可以有一个主文件来存储参数列表,而不是从
spark submit
命令中引用

属性文件的示例configurations.txt(不必是.txt):

学校图书馆=“中央”
学校食堂=“北墙”

预期要求:

称之为一个火花提交:

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
在另一个spark submit中调用它:

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
在另一个spark submit中调用这两个:

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

您可以通过conf
--files

例如,您正在提交带有配置文件的spark作业:
/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
该文件将被上传并放置在驱动程序的工作目录中。因此,您必须按其名称访问

例:

可以使用Spark提交参数“-properties file”。 属性名称必须以“spark.”前缀开头,例如:

spark.mykey=myvalue

本例中的值是从配置(SparkConf)中提取的

以及如何从
spark submit
上的config.conf中提取特定变量?我的配置文件使用json格式。然后,我可以很容易地阅读它。json很好,但是我如何传递json中的特定元素呢?你是什么意思?因为您的文件是JSON文件。你可以读取整个json文件&读取,获取json中的所有内容。如果你看我的问题,它说文件(json)将有多个变量,我想从文件存储的变量列表中选取一个特定变量,并将其作为参数传递。