2016-11-07 35 views
4

我正在使用apapche spark。我想从日期的基础上访问多个JSON文件。我如何选择多个文件,即我想提供以1034.json结尾的文件到以1434.json结尾的文件的范围。我正在尝试这个。如何使用S3中的数据帧访问多个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) 

请出指定的方式。

回答

2

您可以阅读这样的内容。可以在文件路径中使用wildcards

例如:

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

但如何可以在该范围内提供如在问题指定。在特定范围内的文件 –

+0

@Hitesh Goyal:特定范围的含义是什么? – Shankar

+0

@HiteshGoyal:Spark文件路径支持通配符..什么是你的文件路径结构? – Shankar