相关疑难解决方法(0)

如何创建AWS Glue表,其中分区具有不同的列?( 'HIVE_PARTITION_SCHEMA_MISMATCH')

根据此AWS论坛主题,是否有人知道如何使用AWS Glue创建AWS Athena表,其分区包含不同的模式(在这种情况下,表模式中的列的不同子集)?

目前,当我对此数据运行爬虫并在Athena中进行查询时,我收到错误 'HIVE_PARTITION_SCHEMA_MISMATCH'

我的用例是:

  • 分区代表天
  • 文件代表事件
  • 每个事件都是单个s3文件中的json blob
  • 事件包含列的子集(取决于事件的类型)
  • 整个表的"模式"是所有事件类型的完整列(这由Glue crawler正确组合)
  • 每个分区的"模式"是当天发生的事件类型的列的子集(因此在Glue中,每个分区可能具有与表模式不同的列子集)
  • 这种不一致导致我认为雅典娜的错误

如果我要手动编写模式,我可以做到这一点,因为只有一个表模式,JSON文件中缺少的键将被视为Null.

提前致谢!

amazon-s3 amazon-web-services amazon-athena aws-glue

28
推荐指数
2
解决办法
6155
查看次数