【发布时间】:2021-09-15 01:23:36
【问题描述】:
我有一个 parquet 格式的文件列表
-- s3:\\my-bucket\files\14\09\12\file.pq
-- s3:\\my-bucket\files\14\09\11\file.pq
# 14 = day, 09 = month, 11 = hour.
如果我将绝对路径传递给我的 spark 上下文,它可以毫无问题地读取文件
spark.read.parquet('s3:\\my-bucket\files\14\09\12\file.pq')
如果我进来
spark.read.parquet('s3:\\my-bucket\files\14')
然后我会得到以下错误:
AnalysisException: 'Unable to infer schema for Parquet. It must be specified manually.;'
这是,我相信由于分区未命名,我无法控制源,所以很遗憾我无法更改它。
我的 hacky 解决方法是列出所有文件,然后获取唯一的最低级别路径集并将其传递给 spark 。
有更好的解决方法吗?
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql