2016-04-27 73 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]或紗線或中間件上運行,也可以在單獨的羣集上運行。