Pourquoi mon analyseur AWS Glue n'ajoute-t-il pas de nouvelles partitions à la table ?

Date de la dernière mise à jour : 16/08/2021

Mon analyseur AWS Glue n'ajoute pas de nouvelles partitions à la table.

Brève description

Lorsque l'analyseur analyse les fichiers de données sources sous une nouvelle partition, l'analyseur compare les attributs suivants des fichiers sources à ceux de la table existante :

  • Format de fichier
  • Type de compression
  • Schéma
  • Structure des partitions Amazon Simple Storage Service (Amazon S3)

Si l'un de ces attributs de la partition diffère des attributs de la table, la partition est ignorée et n'est pas ajoutée aux métadonnées. Une différence dans le nom, la séquence ou le nombre de partitions dans le chemin Amazon S3 est considérée comme une modification du schéma ou de la structure de partition.

Résolution

Résoudre le problème

Vérifiez les journaux de l'analyseur pour identifier le problème :

  1. Ouvrez la console AWS Glue.
  2. Dans le panneau de navigation, choisissez Crawlers (Analyseurs).
  3. Sélectionnez l'analyseur, puis choisissez le lien Logs (Journaux) pour afficher les journaux sur la console CloudWatch.
  4. Consultez les journaux pour vérifier si l'analyseur a ignoré la nouvelle partition.

Par exemple, supposons que le journal inclut 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. Cela peut se produire lorsque la structure de partition n'est pas cohérente dans l'emplacement source de la table.

Si l'analyseur AWS Glue crée plusieurs tables, les entrées de journaux sont similaires à 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 avec ceux de la table d'origine.

Résoudre le problème

Sur la base des informations contenues dans CloudWatch Logs, envisagez une ou plusieurs des options de solution suivantes :

  • Si le problème est causé par une structure de partition incohérente, rendez la structure cohérente en renommant le chemin S3 manuellement ou par programmation.
  • Si la partition est ignorée en raison d'une incompatibilité entre le format de fichier, le format de compression ou le schéma, et que les données ne doivent pas être incluses dans la table prévue, considérez les points suivants :
    • Utilisez un modèle d'exclusion pour ignorer les fichiers indésirables.
    • Déplacez le fichier indésirable vers un autre emplacement.
  • Si vos données ont des schémas différents dans certains fichiers d'entrée et des schémas similaires dans d'autres fichiers d'entrée, combinez les schémas compatibles lorsque vous créez l'analyseur. Sur la page Configurer la sortie de l'analyseur, sous Comportement de groupement des données S3 (facultatif), sélectionnez Créer un schéma unique pour chaque chemin S3. Lorsque ce paramètre est activé et que les données sont compatibles, l'analyseur ignore la similarité des schémas spécifiques lors de l'évaluation des objets S3 dans le chemin d'inclusion spécifié. Pour plus d'informations, consultez Comment créer un schéma unique pour chaque chemin d'inclusion Amazon S3.
  • Si l'analyseur crée plusieurs tables, reportez-vous à Comment puis-je empêcher l'analyseur AWS Glue de créer plusieurs tables ?

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?