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

问题描述 投票:0回答:2

是否可以使用一个主文件来存储可以从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中调用它:

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

在另一个spark-submit中调用两个:

spark-submit --master yarn \
--deploy-mode cluster \
--jars sample.jar \
/home/user/helloworld.py  configurations.school_library configurations.school_canteen
apache-spark spark-submit
2个回答
0
投票

是。

你可以通过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

此文件将被上传并放置在驱动程序的工作目录中。所以你必须通过它的名字访问。

例如:

new FileInputStream("config.conf")

0
投票

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

spark.mykey=myvalue

这种情况下的值从配置中提取(SparkConf)

© www.soinside.com 2019 - 2024. All rights reserved.