我正在使用apapche spark。我想在日期的基础上从spark访问多个json文件。我如何选择多个文件,即我想提供以1034.json结尾的文件到以1434.json结尾的文件的范围。我正在尝试这个。
DataFrame df = sql.read().json("s3://..../..../.....-.....[1034*-1434*]");
但是我收到以下错误
at java.util.regex.Pattern.error(Pattern.java:1924)
at java.util.regex.Pattern.range(Pattern.java:2594)
at java.util.regex.Pattern.clazz(Pattern.java:2507)
at java.util.regex.Pattern.sequence(Pattern.java:2030)
at java.util.regex.Pattern.expr(Pattern.java:1964)
at java.util.regex.Pattern.compile(Pattern.java:1665)
at java.util.regex.Pattern.<init>(Pattern.java:1337)
at java.util.regex.Pattern.compile(Pattern.java:1022)
at org.apache.hadoop.fs.GlobPattern.set(GlobPattern.java:156)
at org.apache.hadoop.fs.GlobPattern.<init>(GlobPattern.java:42)
at org.apache.hadoop.fs.GlobFilter.init(GlobFilter.java:67)
请指明出路。
答案 0 :(得分:2)
你可以读到这样的东西。
sqlContext.read().json("s3n://bucket/filepath/*.json")
此外,您可以在文件路径中使用wildcards
。
例如:
sqlContext.read().json("s3n://*/*/*-*[1034*-1434*]")