デフォルトでロードされるsrc/main/resources
フォルダにタイプセーフな設定application.conf
があります。cant override sparkのcommmandlineでタイプセーフな設定
--conf spark.driver.extraJavaOptions=-DsomeValue="foo"
しかし、のような完全な新しい、すなわちオーバーライドapplication.conf
ファイルを指定:
spark-submit \
--class my.Class \
--master "local[2]" \
--files foo.conf \
--conf spark.driver.extraClassPath="-Dconfig.file=file:foo.conf" \
--conf spark.driver.extraJavaOptions=-Dvalue="abcd" \
job.jar
がfoo.conf
をロードに失敗します
単一の値を指定することで上書きすることができます。代わりに、resourcesフォルダの元のファイルがロードされます。 トリックを試してみると:Using typesafe config with Spark on Yarnも役に立たなかった。
Overriding multiple config values in Typesafe config when using an uberjar to deploy
編集プログラム(火花なし)プレーンのための答えであると思われます。 これをどのように発火させるかについては疑問が残っています。
も渡し:
--conf spark.driver.extraClassPath="-Dconfig.resource=file:foo.conf"
--conf spark.driver.extraClassPath="-Dconfig.resource=foo.conf"
は、コマンドラインからの私のコンフィギュレーションをロードするために失敗しました。ドキュメントに記載
が、:。 アプリケーションを使用してアプリケーションの場合
https://github.com/lightbend/config {CONF、JSON、プロパティ}、システム特性が に使用することができ、例えば、コマンドラインから(異なる設定ソースを強制 -Dconfig.file =パス/に/設定ファイル):
- config.resourceは、リソース名を指定します - ないベース名を、すなわちapplication.confないアプリケーション
- config.fileは、ファイルシステムパスを指定し、再度それは拡張子を含める必要があり、ベース名
- config.urlは、これらのシステム特性は アプリケーションの置き換えを指定
URLを指定することがない。{CONF、JSON、プロパティ}であり、追加ではありません。デフォルトのConfigFactory.load()設定を使用しているアプリにのみ影響します( )。置換設定ファイル では、include "application"を使用して、元のデフォルト設定ファイル を含めることができます。インクルードステートメントの後に は、特定の設定をオーバーライドすることができます。
これらのパラメータで可能である必要があります。 spark.driver.extraClassPath
からspark.driver.extraJavaOptions
に変更