我们正在使用 HOCON 配置在 Scala 中构建 Spark 应用程序,该配置名为application.conf
.
如果我将 jar 添加application.conf
到我的 jar 文件并在 Google Dataproc 上开始工作,它会正常工作:
gcloud dataproc jobs submit spark \
--cluster <clustername> \
--jar=gs://<bucketname>/<filename>.jar \
--region=<myregion> \
-- \
<some options>
我不想将application.conf
jar 文件与我的 jar 文件捆绑在一起,而是单独提供,我无法正常工作。
尝试了不同的东西,即
- 指定 application.conf
--jars=gs://<bucketname>/application.conf
(应该根据这个答案工作) - 使用
--files=gs://<bucketname>/application.conf
- 与 1. + 2. 相同,应用程序 conf 在
/tmp/
集群的主实例上,然后指定本地文件file:///tmp/application.conf
- 使用(和执行者)定义
extraClassPath
火花--properties=spark.driver.extraClassPath=gs://<bucketname>/application.conf
使用所有这些选项我得到一个错误,它在配置中找不到密钥:
Exception in thread "main" com.typesafe.config.ConfigException$Missing: system properties: No configuration setting found for key 'xyz'
此错误通常意味着 HOCON 配置中有错误(密钥xyz
未在 HOCON 中定义)或application.conf
不在类路径中。由于在我的 jar 文件中使用完全相同的配置,因此我认为是后者。
是否有任何其他选项可以将其application.conf
放在类路径中?