Lorsque j'exécute une requête Amazon Athena sur une table partitionnée, la requête échoue avec l'erreur « HIVE_PARTITION_SCHEMA_MISMATCH ».
Brève description
L'erreur « HIVE_PARTITION_SCHEMA_MISMATCH » peut survenir dans les scénarios suivants :
- Le schéma de table des partitions n'est pas compatible avec le schéma de table.
- Le format de données de la table n'autorise pas le type de mise à jour que vous avez tenté d’effectuer.
Pour en savoir plus, consultez la page Mises à jour dans des tables comportant des partitions.
Résolution
Configuration du robot AWS Glue pour mettre à jour le schéma de partition
Si vous avez utilisé un robot AWS Glue pour créer la table, vous pouvez configurer celui-ci pour mettre à jour le schéma de partition.
Procédez comme suit :
- Ouvrez la console AWS Glue.
- Dans le volet de navigation, choisissez Robots.
- Sélectionnez le robot que vous souhaitez configurer.
- Choisissez Action, puis Modifier un robot.
- Choisissez Suivant, puis continuez à sélectionner Suivant jusqu'à ce que vous accédiez à la page Choisir la sortie du robot.
- Développez les Options de configuration.
- Sélectionnez Mettre à jour toutes les partitions nouvelles et existantes avec les métadonnées de la table.
- Choisissez Suivant, puis choisissez Terminer pour enregistrer la configuration du robot.
- Sur la page des Robots, sélectionnez le robot.
- Choisissez Exécuter un robot. Lorsque vous exécutez le robot, les partitions héritent du schéma de la table.
Utilisation d’une déclaration Athena DDL pour supprimer la partition concernée puis recréer la partition supprimée
Si vous avez créé la table manuellement, vous pouvez utiliser une déclaration DDL (Athena Data Definition Language) pour supprimer la partition concernée, puis la recréer.
Procédez comme suit :
- Ouvrez la console Amazon Athena.
- Dans l'onglet Éditeur de requête, exécutez la commande ALTER TABLE DROP PARTITION pour supprimer la partition en question.
- 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 des robots