Spark执行程序配置优先级

时间:2020-03-18 02:24:51

标签: apache-spark hadoop

我看到了带有以下参数的Spark提交命令

spark-submit --class ${my_class} \
         --master yarn \
         --deploy-mode cluster \
         --executor-cores 2 \                        <--- executor cores
         --driver-cores 2\                           <--- driver cores
         --num-executors 12 \                        <--- number of executors 
         --files hdfs:///blah.xml \
               --conf spark.executor.instances=15 \  <--- number of executors again?
               --conf spark.executor.cores=4 \       <--- driver cores again?
               --conf spark.driver.cores=4 \         <--- executor cores again?

似乎有多种方法可以为执行程序和驱动程序节点设置核心号和实例号,只是想知道,在上述设置中,哪种方式具有优先权并覆盖其他方式? --参数还是conf参数?最终给Spark工作分配了多少个内核和实例?

1 个答案:

答案 0 :(得分:1)

根据偏好顺序获取配置。

优先级明智,通过set()在应用程序中定义的配置将获得最高优先级。 提交火花参数的优先级为第二,然后默认配置参数的优先级为

--executor-cores 2 \ <--- executor cores --driver-cores 2\ <--- driver cores --num-executors 12 \ <--- number of executors

上面的配置将优先于--conf参数,因为这些属性用于覆盖默认的conf优先级。