使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

为什么我的 Athena 查询失败并显示错误“HIVE_PARTITION_SCHEMA_MISMATCH”?

1 分钟阅读
0

当我在分区表上运行我的 Amazon Athena 查询时,查询失败,错误是“HIVE_PARTITION_SCHEMA_MISMATCH”

简短描述

在以下情况下,你可能会收到“HIVE_PARTITION_SCHEMA_MISMATCH”错误:

  • 分区的表架构与表架构不兼容。
  • 该表的数据格式不允许您尝试的更新类型。

有关更多信息,请参阅包含分区的表中的更新

解决方法

配置 AWS Glue 爬网程序以更新分区架构

如果您使用 AWS Glue 爬网程序创建表,请配置 AWS Glue 爬网程序以更新分区架构。

完成以下步骤:

  1. 打开 AWS Glue 控制台
  2. 在导航窗格上,选择集群
  3. 选择要配置的爬网程序。
  4. 选择操作,然后选择编辑任务
  5. 选择下一步”,然后继续选择下一步,直至导航到选择爬网程序的输出页面。
  6. 展开配置选项
  7. 选择使用表中的元数据更新所有新分区和现有分区
  8. 选择下一步,然后选择完成,保存爬网程序的配置。
  9. 爬网程序页面上,选择爬网程序。
  10. 选择运行爬网程序。当您运行爬网程序时,分区会继承表架构。

使用 Athena DDL 语句删除受影响的分区,然后重新创建已删除的分区

如果您手动创建了表,则使用 Athena 数据定义语言(DDL)语句删除受影响的分区,然后重新创建该分区。

完成以下步骤:

  1. 打开 Amazon Athena 控制台
  2. 查询编辑器选项卡上,运行 ALTER TABLE DROP PARTITION 命令来删除受影响的分区。
  3. 运行 ALTER TABLE ADD PARTITION 命令以重新创建已删除的分区。

**注意:**如果您的表使用与 Hive 兼容的分区,则可以运行 MSCK REPAIR TABLE 命令来重新创建已删除的分区。

相关信息

同步分区架构以避免 “HIVE_PARTITION_SCHEMA_MISMATCH”

设置爬网程序配置选项

AWS 官方
AWS 官方已更新 10 个月前