0

我试图在 spark 中读取一个属性文件,其中我的文件位置可用,而运行作业低于错误代码是

object runEmpJob {    
  def main(args: Array[String]): Unit = {

    println("starting emp job")
    val props = ConfigFactory.load()
    val envProps = props.getConfig("C:\\Users\\mmishra092815\\IdeaProjects\\use_case_1\\src\\main\\Resource\\filepath.properties")

    System.setProperty("hadoop.home.directory", "D:\\SHARED\\winutils-master\\hadoop-2.6.3\\bin")

    val spark = SparkSession.builder().
         appName("emp dept operation").
         master(envProps.getString("Dev.executionMode")).
         getOrCreate()
    val empObj = new EmpOperation

    empObj.runEmpOperation(spark, "String", fileType = "csv")

    val inPutPath = args(1)
    val outPutPath = args(2)    
  }
}


getting error:

线程“主”com.typesafe.config.ConfigException$BadPath 中的异常:路径参数:路径无效 C:\Users\mmishra092815\IdeaProjects\use_case_1\src\main\Resource\filepath.properties':路径表达式中不允许使用令牌: ':' (如果你真的想要的话,你可以在这里双引号)
在 com.typesafe.config.impl.PathParser.parsePathExpression(PathParser.java:155)
在 com.typesafe.config.impl.PathParser.parsePathExpression( PathParser.java:74)
在 com.typesafe.config.impl.PathParser.parsePath(PathParser.java:61)
在 com.typesafe.config.impl.Path.newPath(Path.java:230)
在 com.typesafe.config .impl.SimpleConfig.find(SimpleConfig.java:192)
在 com.typesafe.config.impl.SimpleConfig.getObject(SimpleConfig.java:268)
在 com.typesafe.config.impl.SimpleConfig.getConfig(SimpleConfig.java:274) 在 com.typesafe.config.impl.SimpleConfig.getConfig(SimpleConfig.java:41) 在 executor.runEmpJob$.main(runEmpJob.scala: 12)
在 executor.runEmpJob.main(runEmpJob.scala)
进程以退出代码 1 结束

4

1 回答 1

1

加载发生在ConfigFactory.load(). 如果要从特定文件加载配置,请将其传递如下:

val props = ConfigFactory.load("C:\\Users\\mmishra092815\\IdeaProjects\\use_case_1\\src\\main\\Resource\\filepath.properties")

API 文档中所述,getConfig方法不会从文件加载配置 - 它返回Config给定配置路径的对象(不是文件系统路径!)

于 2020-01-03T12:18:13.660 回答