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

Antworten auf die Frage(0)

Ihre Antwort auf die Frage