2017-04-12 65 views
0

Spark從$SPARK_HOME/conf/spark-defaults.conf讀取默認配置。來自多個配置文件的火花加載設置

使用(比如說)​​時,您還可以使用--properties-file [FILE]命令行參數更改默認位置。

我想要做的是從文件中加載額外的參數,而不必更換默認的參數。也就是說,我想要加載來自spark-defaults.conf的屬性並從另一個文件加載更多屬性。現在,如果在這兩個屬性中都定義了屬性,我寧願如果最後一個配置文件獲勝。

這是默認支持Spark嗎?

回答

2

TL; DR編號

如火花documentation所描述的,在這裏是優選的用於配置的順序:

屬性上直接設置SparkConf取最高的優先級,則標記傳遞到在火花defaults.conf文件火花提交或火花殼,然後選項。

鑑於此,我會用Typesafe Config在我的驅動程序代碼加載自定義配置文件,並設置任何我發現直接在T他SparkConf。在那裏設置的任何東西都將優先於其他地方的任何先前配置。

+0

有道理,謝謝!看起來,雖然對於火花炮來說,你真的不能做太多事情。 spark的上下文已經在開始時創建,你不能再修改它的配置參數來添加(比方說)更多的內核或更多的executors內存,所以這種方法適用於spark-submit應用程序,但不適用於spark-shell,對吧? – marios

+0

我不會說,「火星炮彈你真的不能做太多。」它和社區要求的一樣多;如果有需求變更,則會有票和拉請求。無論如何,相同的文檔鏈接說:「* Spark shell和spark-submit工具支持兩種動態加載配置的方式...... *」這意味着'spark-submit'和shell配置相同。 – Vidya