根据这个AWS Forum Thread,有谁知道如何使用 AWS Glue 创建一个 AWS Athena 表,其分区包含不同的架构(在这种情况下,来自表架构的不同列子集)?
目前,当我在这些数据上运行爬虫然后在 Athena 中进行查询时,我得到了错误'HIVE_PARTITION_SCHEMA_MISMATCH'
我的用例是:
- 分区代表天
- 文件代表事件
- 每个事件都是单个 s3 文件中的 json blob
- 事件包含列的子集(取决于事件的类型)
- 整个表的“模式”是所有事件类型的完整列集(这由 Glue 爬虫正确地放在一起)
- 每个分区的“模式”是当天发生的事件类型的列子集(因此在 Glue 中,每个分区可能具有与表模式不同的列子集)
- 我认为这种不一致会导致雅典娜出现错误
如果我要手动编写一个模式,我可以很好地做到这一点,因为只有一个表模式,并且 JSON 文件中缺少的键将被视为 Null。
提前致谢!