Apache spark 在Spark中同时阅读几个拼花文件

Apache spark 在Spark中同时阅读几个拼花文件,apache-spark,parquet,Apache Spark,Parquet,我可以使用*(星形)同时读取几个json文件: 拼花地板也有同样的方法吗?Star不工作。请参见火花机上的jira。从1.4版开始支持它 不升级到1.4,您可以指向顶级目录: sqlContext.parquetFile('/path/to/dir/') 这将加载目录中的所有文件。或者,您可以使用HDFS API查找所需的文件,并将其传递给parquetFile(它接受varargs)。仅供参考,您还可以: 使用通配符*sqlContext.read.parquet(“/path/to/di

我可以使用*(星形)同时读取几个json文件:

拼花地板也有同样的方法吗?Star不工作。

请参见火花机上的jira。从1.4版开始支持它

不升级到1.4,您可以指向顶级目录:

sqlContext.parquetFile('/path/to/dir/')
这将加载目录中的所有文件。或者,您可以使用HDFS API查找所需的文件,并将其传递给parquetFile(它接受varargs)。

仅供参考,您还可以:

  • 使用通配符*
    sqlContext.read.parquet(“/path/to/dir/part.*.gz”)

  • 通过显式指定多个拼花文件
    sqlContext.read.parquet(“/path/to/dir/part_1.gz”,“/path/to/dir/part_2.gz”)


对于读取:给出文件的路径和“*”

范例

pqtDF=sqlContext.read.parquet("Path_*.parquet")

此外,您还可以使用hadoop glob模式或利用spark分区模式,请参阅。我得到
AttributeError:'SQLContext'对象没有属性'parquetFile'
im我的案例首先我在s3中过滤文件,然后将列表提供给读取。parquet()谢谢!
InputPath = [hdfs_path + "parquets/date=18-07-23/hour=2*/*.parquet",
             hdfs_path + "parquets/date=18-07-24/hour=0*/*.parquet"]

df = spark.read.parquet(*InputPath)
pqtDF=sqlContext.read.parquet("Path_*.parquet")