5

我正在尝试通过使用spark-submit具有大量参数的spark作业来部署

spark-submit --class Eventhub --master yarn --deploy-mode cluster --executor-memory 1024m --executor-cores 4 --files app.conf spark-hdfs-assembly-1.0.jar --conf "app.conf"

我正在寻找一种将所有这些标志放在文件中以传递给以spark-submit使我的spark-submit命令简单的方法

spark-submit --class Eventhub --master yarn --deploy-mode cluster --config-file my-app.cfg --files app.conf spark-hdfs-assembly-1.0.jar --conf "app.conf"

有谁知道这是否可能?

4

2 回答 2

8

您可以使用--properties-filewhich 应该包含带有起始关键字的参数,spark例如

spark.driver.memory 5g
spark.executor.memory 10g

命令应如下所示:

spark-submit --class Eventhub --master yarn --deploy-mode cluster --properties-file <path-to-your-conf-file> --files app.conf spark-hdfs-assembly-1.0.jar --conf "app.conf"
于 2017-03-16T14:54:11.360 回答
0

除了设置--properties为@FaigB 提到的,另一种方法是使用conf/spark-defaults.conf. find-spark-home您可以通过执行或定位和查看来找到它所在的位置spark-env.sh。或者,您可以通过在调用时或调用之前设置环境变量来定义此配置的停放位置spark-submit,例如SPARK_CONF_DIR=/your_dir/ spark-submit .... 如果您使用 YARN,设置SPARK_CONF_DIR将不起作用。您可以在这里找到更多信息https://spark.apache.org/docs/latest/configuration.html#dynamically-loading-spark-properties

于 2020-02-20T19:38:27.537 回答