View a markdown version of this page

Utilisation du framework Hudi dans AWS Glue Studio - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation du framework Hudi dans AWS Glue Studio

Lorsque vous créez ou modifiez une tâche, AWS Glue Studio ajoute automatiquement les bibliothèques Hudi correspondantes en fonction de la version d'AWS Glue que vous utilisez. Pour plus d'informations, veuillez consulter la rubrique Utilisation du cadre Hudi dans AWS Glue.

Utilisation du cadre Apache Hudi dans les sources de données du catalogue de données

Pour ajouter un format de source de données Hudi à une tâche :
  1. Dans le menu Source, choisissez Catalogue de données AWS Glue Studio.

  2. Dans l'onglet Propriétés de source de données, choisissez une base de données et une table.

  3. AWS Glue Studio affiche le type de format comme étant Apache Hudi et l'URL Amazon S3.

    La capture d'écran montre l'onglet des propriétés de la source de données pour le nœud source du catalogue de données.

Utilisation du cadre Hudi dans les sources de données Amazon S3

  1. Dans le menu Source, choisissez Amazon S3.

  2. Si vous choisissez la table du catalogue de données comme type de source Amazon S3, choisissez une base de données et une table.

  3. AWS Glue Studio affiche le format comme étant Apache Hudi et l'URL Amazon S3.

  4. Si vous choisissez l'emplacement Amazon S3 comme Type de source Amazon S3, choisissez l'URL Amazon S3 en cliquant sur Parcourir Amazon S3.

  5. Dans Format de données, sélectionnez Apache Hudi.

    Note

    Si AWS Glue Studio n'est pas en mesure de déduire le schéma à partir du dossier ou du fichier Amazon S3 que vous avez sélectionné, choisissez Options supplémentaires pour sélectionner un nouveau dossier ou fichier.

    Dans Options supplémentaires, choisissez l'une des options suivantes sous Inférence de schéma :

    • Laisser AWS Glue Studio choisir automatiquement un exemple de fichier : AWS Glue Studio choisit un exemple de fichier dans l'emplacement Amazon S3 afin que le schéma puisse être déduit. Dans le champ Auto-sampled Fichier, vous pouvez consulter le fichier qui a été automatiquement sélectionné.

    • Choisir un exemple de fichier d'Amazon S3 : choisissez le fichier Amazon S3 à utiliser en cliquant sur Parcourir Amazon S3.

  6. Cliquez sur Déduire un schéma. Vous pouvez ensuite consulter le schéma de sortie en cliquant sur l'onglet Schéma de sortie.

  7. Choisissez Options supplémentaires pour saisir une paire clé-valeur.

    La capture d'écran affiche la section Options supplémentaires dans l'onglet Propriétés de source de données pour un nœud de source de données Amazon S3.

Utilisation du cadre Apache Hudi dans les cibles de données

Utilisation du cadre Apache Hudi dans les cibles de données du catalogue de données

  1. Dans le menu Cible, choisissez Catalogue de données AWS Glue Studio.

  2. Dans l'onglet Propriétés de source de données, choisissez une base de données et une table.

  3. AWS Glue Studio affiche le type de format comme étant Apache Hudi et l'URL Amazon S3.

Utilisation du cadre Apache Hudi dans les cibles de données Amazon S3

Saisissez des valeurs ou sélectionnez-les parmi les options disponibles pour configurer le format Apache Hudi. Pour plus d'informations sur Apache Hudi, veuillez consulter la documentation Apache Hudi.

La capture d'écran affiche la section Options supplémentaires dans l'onglet Propriétés de source de données pour un nœud de source de données Amazon S3.
  • Nom de la table Hudi : il s'agit du nom de votre table Hudi.

  • Type de stockage Hudi : choisissez parmi deux options :

    • Copie à l'écriture : recommandé pour optimiser les performances de lecture. Il s'agit du type de stockage Hudi par défaut. Chaque mise à jour crée une nouvelle version des fichiers lors d'une écriture.

    • Fusion en lecture : recommandée pour minimiser la latence d'écriture. Les mises à jour sont consignées dans des fichiers delta basés sur les lignes et sont compressées si nécessaire pour créer de nouvelles versions des fichiers en colonnes.

  • Opération d'écriture Hudi : choisissez parmi les options suivantes :

    • Upsert (mise à jour/insertion) : il s'agit de l'opération par défaut lors de laquelle les enregistrements d'entrée sont d'abord balisés comme des insertions ou des mises à jour en recherchant l'index. Recommandé lorsque vous mettez à jour des données existantes.

    • Insertion : permet d'insérer des enregistrements mais ne vérifie pas s'ils existent déjà, ce qui peut entraîner des doublons.

    • Insertion en bloc : permet d'insérer des enregistrements et est recommandée pour les grandes quantités de données.

  • Champs de clé d'enregistrement Hudi : utilisez la barre de recherche pour rechercher et choisir les clés d'enregistrement primaires. Les enregistrements dans Hudi sont identifiés par une clé primaire qui est une paire de clé d'enregistrement et de chemin de partition à laquelle appartient l'enregistrement.

  • Champ de précombinaison Hudi : il s'agit du champ utilisé lors de la précombinaison avant l'écriture réelle. Lorsque deux enregistrements ont la même valeur de clé, AWS Glue Studio sélectionne celui avec la plus grande valeur pour le champ de précombinaison. Définissez un champ auquel appartient une valeur incrémentielle (par exemple updated_at).

  • Type de compression : choisissez l'une des options de type de compression suivantes : Uncompressed, GZIP, LZO ou Snappy.

  • Emplacement cible Amazon S3 : choisissez l'emplacement cible Amazon S3 en cliquant sur Parcourir S3.

  • Options de mise à jour du catalogue de données : choisissez parmi les options suivantes :

    • Do not update the Data Catalog (Ne pas mettre à jour le catalogue de données) : (valeur par défaut) choisissez cette option si vous ne souhaitez pas que la tâche mette à jour le catalogue de données, même si le schéma change ou si de nouvelles partitions sont ajoutées.

    • Créer une table dans le catalogue de données et lors des exécutions suivantes, mettre à jour le schéma et ajouter de nouvelles partitions : si vous choisissez cette option, la tâche crée la table dans le catalogue de données lors de sa première exécution. Lors des exécutions de tâches ultérieures, la tâche met à jour la table du catalogue de données si le schéma change ou si de nouvelles partitions sont ajoutées.

      Vous devez également sélectionner une base de données dans le catalogue de données et entrer un nom de table.

    • Create a table in the Data Catalog and on subsequent runs, keep existing schema and add new partitions (Créer une table dans le catalogue de données et lors des exécutions suivantes, conserver le schéma existant et ajouter de nouvelles partitions) : si vous choisissez cette option, la tâche crée la table dans le catalogue de données lors de sa première exécution. Lors des exécutions de tâches ultérieures, la tâche met à jour la table du catalogue de données uniquement pour ajouter de nouvelles partitions.

      Vous devez également sélectionner une base de données dans le catalogue de données et entrer un nom de table.

  • Partition keys (Clé de partition) : choisissez les colonnes à utiliser comme clés de partitionnement dans la sortie. Pour ajouter d'autres clés de partition, choisissez Add a partition key (Ajouter une clé de partition).

  • Options supplémentaires : saisissez une paire clé-valeur selon vos besoins.

Génération de code via AWS Glue Studio

Lorsque la tâche est enregistrée, les paramètres de tâche suivants sont ajoutés à la tâche si une source ou une cible Hudi est détectée :

  • --datalake-formats : une liste distincte des formats de lacs de données détectés dans la tâche visuelle (soit directement en choisissant un « Format », soit indirectement en sélectionnant une table de catalogue soutenue par un lac de données).

  • --conf  : généré en fonction de la valeur des --datalake-formats. Par exemple, si la valeur des --datalake-formats est « hudi », AWS Glue génère une valeur de spark.serializer=org.apache.spark.serializer.KryoSerializer —conf spark.sql.hive.convertMetastoreParquet=false pour ce paramètre.

Redéfinition AWS Glue-bibliothèques fournies

Pour utiliser une version de Hudi non prise en charge par AWS Glue, vous pouvez spécifier vos propres fichiers JAR de bibliothèque Hudi. Pour utiliser votre propre fichier JAR :

  • utilisez le paramètre de tâche --extra-jars. Par exemple, '--extra-jars': 's3pathtojarfile.jar'. Pour plus d'informations, veuillez consulter la rubrique Paramètres des tâches AWS Glue.

  • N'incluez pas hudi comme valeur du paramètre de tâche --datalake-formats. La saisie d'une chaîne vide en tant que valeur garantit qu'aucune bibliothèque de lacs de données ne vous est automatiquement fournie par AWS Glue. Pour plus d'informations, veuillez consulter la rubrique Utilisation du cadre Hudi dans AWS Glue.