Spark作业异常线程“主”中的异常com.typesafe.config.ConfigException $ Missing:找不到密钥

时间:2018-07-19 18:08:30

标签: scala apache-spark typesafe-config

我在dataconf.conf中有一个自定义配置。这是我必须阅读的火花作业。因此,我正在使用

提交火花作业
spark-submit --master local[4] --class com.tesco.data.SimpleWordCount \
  --conf "spark.executor.extraClassPath=-Dconfig.file=/Users/m/Desktop/Data/dataconf.conf" \
  --conf "spark.driver.extraClassPath=-Dconfig.file=/Users/m/Desktop/Data/dataconf.conf" \
  --files /Users/m/Desktop/Data/dataconf.conf /Projects/Data/target/Data-1.0-SNAPSHOT.jar

在scala代码中,我正在使用val conf = ConfigFactory.parseFile(new File("dataconf.conf"))

读取dataconf.conf。

这导致

  

线程“ main”中的异常com.typesafe.config.ConfigException $ Missing:找不到键“ simple-lib”的配置设置       在com.typesafe.config.impl.SimpleConfig.findKeyOrNull(SimpleConfig.java:156)       在com.typesafe.config.impl.SimpleConfig.findKey(SimpleConfig.java:149)       在com.typesafe.config.impl.SimpleConfig.findOrNull(SimpleConfig.java:176)       在com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:188)       在com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:193)       在com.typesafe.config.impl.SimpleConfig.getString(SimpleConfig.java:250)       位于com.tesco.data.SimpleWordCount $ .delayedEndpoint $ com $ tesco $ data $ SimpleWordCount $ 1(SimpleWordCount.scala:21)       在com.tesco.data.SimpleWordCount $ delayedInit $ body.apply(SimpleWordCount.scala:8)       在scala.Function0 $ class.apply $ mcV $ sp(Function0.scala:34)       在scala.runtime.AbstractFunction0.apply $ mcV $ sp(AbstractFunction0.scala:12)

当我尝试使用完整路径读取配置时,它的工作正常。但是在使用火花作业纱线模式的情况下,这将失败,因为dataconf.conf仅存在于边缘节点中。

我浏览过类似问题的旧文章,但没有一种解决方案有效。

0 个答案:

没有答案