如何使用来自 S3 的数据框访问多个 json 文件

how to access multiple json files using dataframe from S3

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

此外,您可以在文件路径中使用wildcards

例如:

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