我有一个将数据存储到S3,将数据转换并将数据转换为Parquet的过程,以便通过Redshift Spectrum查询。我有一个Glue搜寻器,它可以搜寻我的数据集,并且使用三个分区:年,月,日。我所有的文件都这样存储:
<bucket>/<folder>/<folder>/<folder>/year=2018/month=8/day=20
我拥有从2015年到最后一天的数据,这给了我1300多个分区键。
这是问题所在。由于几天前,我开始从搜寻器中看到此消息:
INFO : Folder partition keys do not match table partition keys, skipped folder: <bucket>/<folder>/<folder>/<folder>/year=2018/month=8/
其结果是,2018年8月在本月查询时不返回任何数据,这当然是非常不幸的。
由于我的所有数据都作为同一ETL进程的一部分存储在相同的结构中,并且在抓取失败之前该过程中没有任何内容,我非常困惑为什么抓取器突然开始跳过最后一个月(月) = 8)。我已经检查并检查了month = 8的表分区和文件夹分区之间是否有任何区别,但是我什么都找不到。
这是一个远景,但是没有人对为什么会发生产生任何意见吗?