scala - 在 spark/Scala 中读取配置文件时未找到密钥配置
问题描述
您好我正在尝试从我的配置文件中读取配置spark/scala
。
我写在下面的代码。
val conf = com.typesafe.config.ConfigFactory.load(args(0))
var url=conf.getString("parameters.spark-hive.url")
var db=conf.getString("parameters.spark-hive.dbname")
val sparksession = SparkSession.builder()
.appName("myapp")
.config("spark.sql.hive.hiveserver2.jdbc.url",url)
.enableHiveSupport()
.getOrCreate()
下面是我的application.conf
文件(src/main/resources/application.conf
)
parameters {
spark-hive {
url = """jdbc://xxxxxxxxxxxx""",
dbname = """bdname"""
}
}
并使用以下Spark-submit
命令:
spark-submit \
> --conf "spark.executor.extraClassPath=-Dconfig.file=application.conf"\
> --verbose \
> --class classjarname \
> project_jar
> /path/config-1.2.0.jar \
> /path/application.conf
但低于错误。
Exception in thread "main" com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'parameters' Note:-I'm genetarting Jar using Maven and using HDP 3.X
解决方案
您可以打印出实际值args(0)
以查看(完整)路径所指的位置。这对我有用:
com.typesafe.config.ConfigFactory.parseFile(new java.io.File(args(0)))
补充说明:
- 不确定
project_jar
您的提交命令中的含义 - 构建 SparkSession 时的代码似乎
hive-url
与您的配置不匹配。
推荐阅读
- angular - 离子 - 当标签中有 *ngIf 时无法获取离子输入的值
- ios - 如何添加点击手势来播放视频播放器
- node.js - 如何使用 TypeORM createQueryBuilder 编写此查询?
- c# - MVC 4等效的角度过滤器
- unauthorized - .NET Bearer Token cant [Authorize] always 401 Unauthorized
- .net-core - Net Core 2:无法从 KeyNotFoundException 继承
- linux - SUSE 12 服务清理
- android - AVD - 加载任何模拟设备时崩溃
- active-directory - ADFS 不返回域组(get-aduser 也有奇怪的问题)
- java - 使用 SeleniumWeb 驱动程序通过弹出窗口登录到站点