Configuração Typesafe no Spark
Eu defini uma configuração padrão no meu aplicativo Spark, que está dobradasrc/main/resources/reference.conf
. eu usoConfigFactory.load()
para obter a configuração.
Quando executo o aplicativo comspark-submit
ele pega esses padrões. No entanto, quando eu quero substituir apenas algumas das configurações disponíveis noreference.conf
e fornecerapplication.conf
, não parece receber essas substituições. A partir da documentação, pensei queapplication.conf
é mesclado comreference.conf
ao ligarload()
, para que não seja necessário redefinir tudo emapplication.conf
.
Minhasreference.conf
se parece com isso:
hdfs {
rootDir: "/foo"
dataDir: "hdfs://"${hdfs.rootDir}"/bar"
}
db {
driver: "com.mysql.jdbc.Driver"
...
}
...
O que eu gostaria agora de fazer é ter umapplication.conf
com, digamos, apenas um costumehdfs
seção porque o resto é o mesmo.
Eu executo meu aplicativo Spark fornecendoapplication.conf
em ambos--files
parâmetro, em--driver-class-path
e--conf spark.executor.extraClassPath
. Isso pode ser um exagero, mas funciona quando eu crio uma cópia doreference.conf
e altere alguns dos campos.
o que estou perdendo?