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

Lors de la création ou de la modification d'une tâche, AWS Glue Studio ajoute automatiquement les bibliothèques Hudi correspondantes pour vous en fonction de la version de AWS Glue vous utilisez. Pour plus d'informations, voir Utilisation du framework 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 AWS Glue Studio Catalogue de données.

  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 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 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

    If 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 choisissez automatiquement un exemple de fichier — AWS Glue Studio choisira un exemple de fichier à l'emplacement Amazon S3 afin que le schéma puisse être déduit. Dans le champ Fichier auto-échantillonné, vous pouvez afficher le fichier sélectionné automatiquement.

    • 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 AWS Glue Studio Catalogue de données.

  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 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 clé, AWS Glue Studio choisira celui dont la valeur est la plus élevée 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 pour --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 qui AWS Glue ne prend pas en charge, 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, consultez .AWS Glue paramètres de la tâche.

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