我有以下设置。
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初始化吗?
谢谢!