Spark配置优先级

时间:2016-04-27 09:27:48

标签: apache-spark yarn

在代码中指定spark应用程序配置之间是否存在任何差异或优先级:

SparkConf().setMaster(yarn)

并在命令行中指定它们

spark-submit --master yarn

3 个答案:

答案 0 :(得分:19)

是的,使用set()函数给用户代码中的配置赋予最高优先级。之后,标志传递了spark-submit。

  

直接在SparkConf上设置的属性取最高优先级,然后将标志传递给spark-submit或spark-shell,然后选择spark-defaults.conf文件中的选项。自早期版本的Spark以来,已经重命名了一些配置键;在这种情况下,旧的密钥名称仍然被接受,但优先级低于新密钥的任何实例。

Source

答案 1 :(得分:5)

有4个优先级:( 1到4,1是最高优先级):

  1. 在应用程序中设置SparkConf
  2. 使用spark-submit提供的属性
  3. 属性可以在属性文件中给出。而且 属性文件可以在提交时作为参数给出
  4. 默认值

答案 2 :(得分:2)

除了优先级之外,在命令行上指定它将允许您在不修改代码的情况下在不同的集群管理器上运行。相同的应用程序可以在local [n]或yarn或mesos或spark独立集群上运行。