apache-spark – 如何使用S3中的数据框访问多个json文件

我正在使用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)

请指明出路.

最佳答案 你可以读到这样的东西.

sqlContext.read().json("s3n://bucket/filepath/*.json")

此外,您可以在文件路径中使用通配符.

例如:

sqlContext.read().json("s3n://*/*/*-*[1034*-1434*]")
点赞