Je souhaite résoudre les problèmes liés aux partitions manquantes après avoir exécuté une analyse AWS Glue incrémentielle.
Brève description
Lorsqu'un robot AWS Glue exécute une analyse incrémentielle, il identifie uniquement les partitions qu’il a ajoutées après l'analyse précédente. Pour ajouter la partition, plus de 70 % des fichiers d'une partition doivent avoir le même schéma que la table du robot.
Important : Un robot AWS Glue ne peut pas ajouter une partition précédemment signalée comme étant une incompatibilité de schéma. Il est recommandé de s'assurer que toutes les propriétés de votre nouvelle partition correspondent à celles de la table d'origine avant l'exécution de votre robot.
Résolution
Ouvrez le journal Amazon CloudWatch qui correspond à la dernière analyse de votre robot, puis recherchez le préfixe Amazon Simple Storage Service (Amazon S3) de la nouvelle partition. Si le schéma de la nouvelle partition et le schéma de la table d'origine ne correspondent pas, le message « Partition does not match table schema or has mismatch keys » (La partition ne correspond pas au schéma de table ou utilise des clés incompatibles) apparaît.
Si le message d'erreur précédent s'affiche, vérifiez que les propriétés suivantes de la nouvelle partition et de la table d'origine correspondent :
- Format de compression
- Type de fichier
- Schéma de fichier
Assurez-vous que la structure S3 de la nouvelle partition correspond à la structure S3 de la table d'origine. Par exemple, si la structure S3 de la table d'origine utilise le format de date aaaa-mm-jj, la structure S3 de la nouvelle partition doit également utiliser le format de date aaaa-mm-jj. Si les propriétés ne correspondent pas, modifiez les fichiers de la nouvelle partition afin qu'ils correspondent à la table d'origine.
Puis, utilisez Athena pour ajouter la nouvelle partition à la table. Pour les partitions de type Hive, exécutez la commande MSCK REPAIR TABLE. Pour les partitions qui ne sont pas de type Hive, exécutez la commande ALTER TABLE ADD PARTITION.