Wie füge ich eine Konfigurationsdatei zum Klassenpfad aller Spark-Executoren in Spark 1.2.0 hinzu?
Ich verwende Typesafe Config,https: //github.com/typesafehub/confi, um einen Spark-Job, der im Garncluster-Modus ausgeführt wird, mit einer Konfigurationsdatei zu parametrisieren. Das Standardverhalten von Typesafe Config besteht darin, den Klassenpfad nach Ressourcen mit Namen zu durchsuchen, die einem regulären Ausdruck entsprechen, und diese automatisch mit @ in Ihre Konfigurationsklasse zu ladeConfigFactory.load()
(für unsere Zwecke nehmen wir an, dass die gesuchte Datei @ heißapplication.conf
).
Ich kann die Konfigurationsdatei mit @ in den Treiber lad--driver-class-path <directory containing configuration file>
, aber mit--conf spark.executor.extraClassPath=<directory containing configuration file>
fügt die Ressource nicht wie gewünscht in den Klassenpfad aller Executoren ein. Die Executoren melden, dass sie keine bestimmte Konfigurationseinstellung für einen Schlüssel finden können, der in der Konfigurationsdatei vorhanden ist, die ich ihren Klassenpfaden hinzufügen möchte.
Was ist der richtige Weg, um mit Spark eine Datei zu den Klassenpfaden aller Executor-JVMs hinzuzufügen?