2016-04-27 65 views
4

是否有在代码中指定火花应用程序配置之间的任何差异或优先权:火花配置优先

SparkConf().setMaster(yarn) 

和在命令行指定它们

spark-submit --master yarn 

回答

19

是,最高优先级被给予使用set()函数在用户代码中进行配置。之后,那里的标志与spark-submit一起传递。

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

Source

4

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

  1. SparkConf在应用程序中设置
  2. 属性与火花提交给
  3. 属性可以在属性文件中给出。而 属性文件可以作为论据,同时提交
  4. 默认值
2

比其他的优先级,在命令行中指定它将使您无需修改​​代码在不同的集群管理器运行。相同的应用程序可以在本地[n]或纱线或中间件上运行,也可以在单独的群集上运行。