我在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"))
这导致
线程“ 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仅存在于边缘节点中。
我浏览过类似问题的旧文章,但没有一种解决方案有效。