Spark中的Typesafe配置

时间:2016-06-28 06:47:24

标签: scala apache-spark sbt typesafe-config

我在我的Spark应用程序中定义了一个隐藏在src/main/resources/reference.conf中的默认配置。我使用ConfigFactory.load()来获取配置。

当我使用spark-submit运行应用程序时,它会选择这些默认值。但是,当我只想覆盖reference.conf中提供的一些配置并提供application.conf时,它似乎无法获取这些覆盖。从文档中我认为application.conf在调用reference.conf时与load()合并,因此无需重新定义application.conf中的所有内容。

我的reference.conf看起来像这样:

hdfs {
  rootDir: "/foo"
  dataDir: "hdfs://"${hdfs.rootDir}"/bar"
}

db {
  driver: "com.mysql.jdbc.Driver"
  ...
}

...

我现在想要做的是application.conf只有一个自定义hdfs部分,因为其余部分是相同的。

我通过在application.conf参数,--files--driver-class-path中提供--conf spark.executor.extraClassPath来运行我的Spark应用。这可能有点矫枉过正,但是当我创建reference.conf的副本并更改一些字段时它会起作用。

我错过了什么?

0 个答案:

没有答案