Perché la mia query Athena ha esito negativo con l'errore "HIVE_PARTITION_SCHEMA_MISMATCH"?

2 minuti di lettura
0

Quando eseguo la mia query Amazon Athena su una tabella partizionata, la query ha esito negativo con l'errore "HIVE_PARTITION_SCHEMA_MISMATCH".

Breve descrizione

Quando esegui una query su una tabella partizionata Athena, quest'ultima convalida lo schema della tabella e lo schema delle relative partizioni nel Catalogo dati AWS Glue. La convalida confronta i tipi di dati delle colonne in ordine e verifica che corrispondano per le colonne che si sovrappongono. Solitamente, una nuova partizione eredita lo schema della tabella associata. Tuttavia, alcuni scenari possono far sì che gli schemi differiscano nel tempo. Quando il tipo di dati per una colonna nello schema delle partizioni non corrisponde a quello della relativa colonna nello schema della tabella, la query ha esito negativo e viene visualizzato l'errore "HIVE_PARTITION_SCHEMA_MISMATCH".

Puoi risolvere questo errore con uno dei seguenti approcci:

  • Se hai utilizzato un crawler AWS Glue per creare la tabella, configuralo per aggiornare lo schema delle partizioni.
  • Se hai creato la tabella manualmente, utilizza un'istruzione Athena Data Definition Language (DDL) per eliminare la partizione interessata e ricrearla.

Risoluzione

Configurazione del crawler AWS Glue per aggiornare lo schema delle partizioni

  1. Apri la console AWS Glue.
  2. Nel pannello di navigazione, scegli Crawler.
  3. Seleziona il crawler che desideri configurare.
  4. Scegli Operazione, quindi Modifica crawler.
  5. Scegli Avanti finché non accedi alla pagina Scegli l'output del crawler.
  6. Espandi Opzioni di configurazione.
  7. Seleziona Aggiorna tutte le partizioni nuove ed esistenti con metadati dalla tabella.
  8. Scegli Avanti, quindi Fine per salvare la configurazione del crawler.
  9. Nella pagina Crawler, seleziona il crawler modificato.
  10. Scegli Esegui crawler. Quando esegui il crawler, le partizioni ereditano lo schema della tabella.

Utilizzo di un'istruzione Athena DDL per eliminare la partizione interessata e ricreare quella eliminata

  1. Apri la console Amazon Athena.
  2. Nella scheda Editor di query, esegui il comando ALTER TABLE DROP PARTITION per eliminare la partizione interessata.
  3. Esegui il comando ALTER TABLE ADD PARTITION per ricreare la partizione eliminata.
    Nota: se la tabella utilizza partizioni compatibili con Hive, puoi eseguire il comando MSCK REPAIR TABLE per ricreare la partizione eliminata.

Informazioni correlate

Syncing partition schema to avoid "HIVE_PARTITION_SCHEMA_MISMATCH"

Setting crawler configuration options on the AWS Glue console

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa