Mon robot AWS Glue n'ajoute pas de nouvelles partitions à la table.
Brève description
AWS Glue considère toute différence de nom, de séquence ou de nombre de partitions dans le chemin Amazon Simple Storage Service (Amazon S3) comme une modification du schéma ou de la structure de partition. Les robots analysent les fichiers de données sources sous une nouvelle partition et comparent les attributs suivants des fichiers source à ceux de la table existante :
- Format de fichier
- Type de compression
- Schéma
- Structure de partition Amazon S3
Si l'un de ces attributs de partition diffère des attributs de la table, AWS Glue ignore la partition et ne met pas à jour les métadonnées.
Résolution
Résoudre l’erreur
Pour consulter les journaux du robot afin d'identifier le problème, procédez comme suit :
- Ouvrez la console AWS Glue.
- Dans le volet de navigation, sélectionnez Robots.
- Sélectionnez le robot, puis choisissez Journaux pour consulter les journaux sur la console Amazon CloudWatch.
- Consultez les journaux pour vérifier si le robot a ignoré la nouvelle partition.
Supposons, par exemple, que le journal contienne des entrées qui ressemblent à ce qui suit :
Folder partition keys do not match table partition keys, skipped folder: doc-example-bucket/doc-example-path/doc-example-table/year=2021/month=01/sday=05/
Cette entrée suggère que la structure de partition de l'emplacement Amazon S3 ne correspond pas aux clés de partition définies pour la table. Cette différence peut se produire lorsque la structure de partition n'est pas cohérente dans l'ensemble de l'emplacement source de la table.
Si le robot AWS Glue crée plusieurs tables, les entrées du journal ressemblent à ce qui suit :
INFO : Created table doc-example-table in database doxtest_db
Si vous voyez des journaux similaires, comparez le schéma et la structure de partition de l'emplacement de ces tables à ceux de la table d'origine.
Résoudre le problème
Mettre à jour la structure de partition
Si le problème est dû à une structure de partition incohérente, renommez la structure manuellement ou par programmation afin qu'elle soit cohérente.
Exclure des fichiers spécifiques
AWS Glue peut ignorer une partition pour l'une des raisons suivantes :
- Formats de fichier incompatibles
- Formats de compression
- Problèmes de schéma
Si AWS Glue ignore une partition pour l'une des raisons suivantes et que les données ne sont pas nécessaires dans la table, effectuez l'une des actions suivantes :
Combiner des schémas compatibles
Si vos données présentent des schémas similaires dans différents fichiers d'entrée, combinez des schémas compatibles lorsque vous créez le robot. Sur la page Configurer la sortie du robot, sous Comportement de regroupement pour les données S3 (facultatif), sélectionnez Créer un schéma unique pour chaque chemin S3. Lorsque vous activez ce paramètre et que les données sont compatibles, le robot ignore la similitude de schémas spécifiques pour les objets S3 dans le chemin spécifié. Pour plus d'informations, consultez la section Création d'un schéma unique pour chaque chemin d'inclusion Amazon S3.
Empêcher la multiplication des tables
Si le robot crée plusieurs tables, consultez la section Comment empêcher la création de plusieurs tables lors de l'exécution d'un robot AWS Glue ?