Comment empêcher l'analyseur AWS Glue de créer plusieurs tables ?

Dernière mise à jour : 12/04/2021

Pourquoi l'analyseur AWS Glue crée-t-il plusieurs tables à partir de mes données sources, et comment éviter que cela ne se produise ?

Brève description

L'analyseur AWS Glue crée plusieurs tables lorsque vos données sources n'utilisent pas le ou la même :

  • Format (tel que CSV, Parquet ou JSON)
  • Type de compression (par exemple, SNAPPY, gzip ou bzip2)
  • Schéma

Solution

Vérifiez les journaux de l'analyseur pour identifier les fichiers qui entraînent la création de plusieurs tables par l'analyseur :

1.    Ouvrez la console AWS Glue.

2.    Dans le volet de navigation, sélectionnez Crawlers (Analyseurs).

3.    Sélectionnez l'analyseur, puis choisissez le lien Logs (Journaux) pour afficher les journaux sur la console Amazon CloudWatch.

4.    Si AWS Glue a créé plusieurs tables lors de la précédente exécution de l'analyseur, le journal contiendra des entrées telles que les suivantes :

[439d6bb5-ce7b-4fb7-9b4d-805346a37f88]
 INFO : Created table 
2_part_00000_24cab769_750d_4ef0_9663_0cc6228ac858_c000_snappy_parquet in
 database glue
[439d6bb5-ce7b-4fb7-9b4d-805346a37f88]
 INFO : Created table 
2_part_00000_3518b196_caf5_481f_ba4f_3e968cbbdd67_c000_snappy_parquet in
 database glue
[439d6bb5-ce7b-4fb7-9b4d-805346a37f88]
 INFO : Created table 
2_part_00000_6d2fffc2_a893_4531_89fa_72c6224bb2d6_c000_snappy_parquet in
 database glue

Les entrées du journal comprennent les noms des fichiers qui entraînent la création de plusieurs tables par l'analyseur. Pour empêcher la création de plusieurs tables, procédez comme suit :

  • Vérifiez que les fichiers utilisent le même schéma, le même format et le même type de compression que le reste de vos données source. Si certains fichiers utilisent des schémas différents (par exemple, le schéma A indique que le champ X est de type INT et le schéma B indique que le champ X est de type BOOL), vous pouvez effectuer l'une des opérations suivantes :
    • Exécutez une tâche AWS Glue ETL pour lire les données aberrantes à l'aide de la fonction from_options, puis transformez les types de données aberrantes en types de données corrects ou les plus courants dans votre source.
    • Utilisez Amazon Athena pour créer manuellement la table à l'aide d'une DDL de table existante. Exécutez ensuite un analyseur AWS Glue pour mettre à jour les métadonnées de la table en utilisant le paramètre de l'analyseur pour hériter du schéma de la table.
  • Si vos données ont des schémas différents mais similaires, vous pouvez combiner des schémas compatibles lorsque vous créez l'analyseur. Sur la page Configure the crawler output (Configurer la sortie de l'analyseur), sous Grouping behavior for S3 data (optional) (Regrouper le comportement des données S3 (facultatif)), sélectionnez Create a single schema for each S3 path (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 Amazon S3 dans le chemin d'inclusion spécifié. Pour plus d'informations, consultez la rubrique Comment créer un schéma unique pour chaque chemin d'inclusion Amazon S3.
  • Lorsque vous utilisez des données CSV, veillez à utiliser les en-têtes de manière cohérente. Si certains de vos fichiers ont des en-têtes et d'autres non, l'analyseur créera plusieurs tables.

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


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