Por que minha consulta do Athena falha com o erro "HIVE_PARTITION_SCHEMA_MISMATCH"?

3 minuto de leitura
0

Quando executo minha consulta do Amazon Athena em uma tabela particionada, a consulta falha com o erro "HIVE_PARTITION_SCHEMA_MISMATCH".

Breve descrição

Quando você executa uma consulta em uma tabela particionada do Athena, o Athena valida o esquema da tabela e o esquema de suas partições no Catálogo de Dados do AWS Glue. A validação compara os tipos de dados da coluna em ordem e garante que os tipos de dados da coluna correspondam às colunas que estão sobrepostas. Uma nova partição costuma herdar o esquema da tabela associada. No entanto, certos cenários podem fazer com que os esquemas sejam diferentes ao longo do tempo. Quando o tipo de dados de uma coluna no esquema de partição não corresponde ao tipo de dados da coluna correspondente no esquema da tabela, sua consulta falha com o erro "HIVE_PARTITION_SCHEMA_MISMATCH".

Você pode resolver esse erro com uma das seguintes abordagens:

  • Se você usou um rastreador do AWS Glue para criar a tabela, configure o rastreador do AWS Glue para atualizar o esquema da partição.
  • Se você criou a tabela manualmente, use uma instrução da linguagem de definição de dados (DDL) do Athena para eliminar a partição afetada e recriá-la.

Resolução

Configurar o crawler do AWS Glue para atualizar o esquema de partição

  1. Abra o console do AWS Glue.
  2. No painel de navegação, escolha Crawlers.
  3. Selecione o crawler que você deseja configurar.
  4. Escolha Ações e depois Editar crawler.
  5. Escolha Avançar até navegar até a página Escolher a saída do crawler.
  6. Expanda Opções de configuração.
  7. Selecione Atualizar todas as partições novas e existentes com metadados da tabela.
  8. Escolha Avançar e depois Concluir para salvar a configuração do crawler.
  9. Na página Crawlers, selecione o crawler que você editou.
  10. Escolha Executar crawler. Quando você executa o crawler, as partições herdam o esquema da tabela.

Use uma instrução DDL do Athena para eliminar a partição afetada e recriar a partição descartada

  1. Abra o console do Amazon Athena.
  2. Na guia Editor de consultas, execute o comando ALTER TABLE DROP PARTITION para eliminar a partição afetada.
  3. Execute comando ALTER TABLE ADD PARTITION para recriar a partição descartada.
    Observação: se sua tabela usa partições compatíveis com o Hive, você poderá executar o comando MSCK REPAIR TABLE para recriar a partição descartada.

Informações relacionadas

Sincronizar o esquema de partição para evitar "HIVE_PARTITION_SCHEMA_MISMATCH"

Definir opções de configuração do crawler no console do AWS Glue

AWS OFICIAL
AWS OFICIALAtualizada há 3 anos