Typesafe Config in Spark
Ich habe in meiner Spark-Anwendung eine Standardkonfiguration definiert, die in @ versteckt issrc/main/resources/reference.conf
. Ich benutzeConfigFactory.load()
, um die Konfiguration zu erhalten.
Wenn ich die Anwendung mit @ starspark-submit
es übernimmt diese Standardeinstellungen. Wenn ich jedoch nur einige der in @ verfügbaren Konfigurationen überschreiben möchreference.conf
und @ angebapplication.conf
, diese Overrides scheinen nicht aufgefangen zu werden. Aus der Dokumentation dachte ich, dassapplication.conf
wird mit @ zusammengeführeference.conf
bei Anrufload()
, damit nicht alles in @ neu definiert werden muapplication.conf
.
Myreference.conf
sieht aus wie das
hdfs {
rootDir: "/foo"
dataDir: "hdfs://"${hdfs.rootDir}"/bar"
}
db {
driver: "com.mysql.jdbc.Driver"
...
}
...
Ich möchte jetzt ein @ habapplication.conf
mit, sagen wir, nur einem benutzerdefiniertenhdfs
Abschnitt, weil der Rest der gleiche ist.
Ich starte meine Spark-App mitapplication.conf
in den beiden--files
Parameter, in--driver-class-path
, und--conf spark.executor.extraClassPath
. Das mag übertrieben sein, aber es funktioniert, wenn ich eine Kopie von @ erstellreference.conf
und ändere ein paar der Felder.
Was vermisse ich