Spark作业无法加载动态配置

时间:2015-11-27 17:16:54

标签: scala apache-spark lazy-evaluation typesafe-config

我有以下设置。

application.conf
project {
   env = ${?PASSED_FROM_ENV}
}

Main.scala
object Main {
   val config = ConfigFactory.load()
   val env = config.getInt("project.env")

   def main(args: Array[String]): Unit = {
      implicit val context = ....
      //Using the variable somewhere in the main
   }
}

我有一个从环境中读取的配置。

export PASSED_FROM_ENV=10

然后在main方法之外初始化此配置。下面的代码不起作用,我得到类初始化异常。但是,当我将val声明更改为lazy,或将其移动到main中时,这可以正常工作。在Spark作业中,是否存在某种初始化以静态动态传递变量?我想知道在我们从环境中读取配置之前需要SparkContext初始化吗?

谢谢!

0 个答案:

没有答案