4

我有一个将数据存储到 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的表分区和文件夹分区之间是否有任何区别,但我找不到任何东西。

这是一个远景,但有人对为什么会发生这种情况有任何意见吗?

4

0 回答 0