Pourquoi ma requête Athena échoue-t-elle avec l'erreur « HIVE_PARTITION_SCHEMA_MISMATCH » ?

Lecture de 3 minute(s)
0

Lorsque j'exécute ma requête Amazon Athena sur une table partitionnée, la requête échoue avec l'erreur « HIVE_PARTITION_SCHEMA_MISMATCH. »

Brève description

Lorsque vous exécutez une requête sur une table partitionnée Athena, Athena valide le schéma de table et le schéma de ses partitions dans le catalogue de données AWS Glue. La validation compare les types de données de colonne dans l'ordre et s'assure que les types de données de colonne correspondent aux colonnes qui se chevauchent. Une nouvelle partition hérite généralement du schéma de la table associée. Cependant, certains scénarios peuvent entraîner des différences entre les schémas au fil du temps. Lorsque le type de données d'une colonne dans le schéma de partition ne correspond pas au type de données de colonne équivalent dans le schéma de table, votre requête échoue avec l'erreur « HIVE_PARTITION_SCHEMA_MISMATCH. »

Vous pouvez résoudre cette erreur avec l'une des approches suivantes :

  • Si vous avez utilisé un robot AWS Glue pour créer la table, configurez le robot AWS Glue pour mettre à jour le schéma de partition.
  • Si vous avez créé la table manuellement, utilisez une instruction DDL (Athena Data Definition Language) pour supprimer la partition affectée et recréer la partition.

Résolution

Configurer le robot AWS Glue pour mettre à jour le schéma de partition

  1. Ouvrez la console AWS Glue.
  2. Dans le volet de navigation, sélectionnez Analyseurs.
  3. Sélectionnez l'analyseur que vous souhaitez configurer.
  4. Choisissez Action, puis Modifier l'analyseur.
  5. Choisissez Suivant jusqu'à ce que vous accédez à la page de sortie de l'analyseur.
  6. Développez Options de configuration.
  7. Sélectionnez Mettre à jour toutes les partitions nouvelles et existantes avec les métadonnées de la table.
  8. Choisissez Suivant, puis Terminer pour enregistrer la configuration de l'analyseur.
  9. Sur la page Analyseurs, sélectionnez l'analyseur que vous avez modifié.
  10. Choisissez Exécuter l'analyseur. Lorsque vous exécutez l'analyseur, les partitions héritent du schéma de table.

Utiliser une instruction DDL Athena pour supprimer la partition affectée et recréer la partition supprimée

  1. Ouvrez la console Amazon Athena.
  2. Sous l'onglet Éditeur de requête, exécutez la commande ALTER TABLE DROP PARTITION pour supprimer la partition affectée.
  3. Exécutez la commande ALTER TABLE ADD PARTITION pour recréer la partition supprimée.
    Remarque : si votre table utilise des partitions compatibles avec Hive, vous pouvez exécuter la commande MSCK REPAIR TABLE pour recréer la partition supprimée.

Informations connexes

Synchronisation du schéma de partition pour éviter l'erreur « HIVE_PARTITION_SCHEMA_MISMATCH »

Définition des options de configuration de l'analyseur sur la console AWS Glue

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 ans