[英]spark-shell load scala config using typesafe config
我正在尝试使用 typesafe-config 在 spark-shell 中加载application.conf
。
以下是代码和 spark-shell 命令:
斯卡拉代码:
import com.typesafe.config.{Config, ConfigFactory}
val config: Config = ConfigFactory.load("application.conf")
val env = config.getString("key.key1")
spark-shell 命令:
spark-shell --jars confing-1.3.4.jar --files application.conf --driver-java-options -Dconfig.file=application.conf
(尝试 1)spark-shell --jars confing-1.3.4.jar (attempt 2)
应用程序.conf:
key {
key1 = "value1"
}
错误:
com.typesafe.config.ConfigException$Missing: system properties: No configuration setting found for key 'key'
你的conf文件在哪里? 您是否尝试使用根目录的完整路径? 例如:
val config: Config = ConfigFactory.load("/<root-path>/application.conf")
您可以通过--files "application.conf"
将文件传递给每个执行--files "application.conf"
并使用ConfigFactory.parseFile()
作为
您可以使用SparkFiles.get
获取--files
传递的文件
import com.typesafe.config.ConfigFactory
import java.io.File
import org.apache.spark.SparkFiles
val config = ConfigFactory.parseFile(new File(SparkFiles.get("application.conf")))
这应该加载你想要的配置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.