【发布时间】:2022-03-17 01:32:01
【问题描述】:
我需要读取数据已更改的不同文件夹中的随机 json 文件。所以我不能应用正则表达式来阅读模式。我知道哪些是那些文件,我可以列出它们。但是当我用所有文件路径形成字符串并尝试在 spark 中读取 json 时。双引号被替换为 %22 并且通过 spark 读取文件失败。有人可以帮忙吗?
val FilePath = "\"/path/2019/02/01/*\"" + ","+ "\"path/2019/02/05/*\"" + "\"path/2019/02/24/*\""
FilePath:String = "path/2019/02/20/*","path/2019/02/05/*","path/2019/02/24/*"
现在,当我使用此变量读取 josn 文件时,它会因错误而失败,并且引号被替换为 %22。
spark.read.json(FilePath)
java.lang.IllegalArgumentException: java.net.URISyntaxException: Illegal character in scheme name at index 0: "/path/2019/02/01/*%22,%22/path/2019/02/05/*%22,%22/path/2019/02/24/*%22
【问题讨论】:
-
为什么在 FilePath 字符串中包含双引号?你试过没有这些吗?
-
1.使用单引号不起作用 2. 我正在读取目录中的多个文件。所以不知道怎么做,为什么 %22
-
删除
*并尝试..
标签: json scala apache-spark apache-spark-sql rdd