View a markdown version of this page

Création et utilisation de AWS Glue DataBrew jobs de recettes - AWS Glue DataBrew Guide du développeur

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.

Création et utilisation de AWS Glue DataBrew jobs de recettes

Utilisez une tâche de DataBrew recette pour nettoyer et normaliser les données d'un DataBrew ensemble de données et écrivez le résultat dans un emplacement de sortie de votre choix. L'exécution d'une tâche de recette n'affecte pas l'ensemble de données ni les données source sous-jacentes. Lorsqu'une tâche est exécutée, elle se connecte aux données source en lecture seule. La sortie de la tâche est écrite dans un emplacement de sortie que vous définissez dans Amazon S3, dans ou dans une base AWS Glue Data Catalog de données JDBC prise en charge.

Utilisez la procédure suivante pour créer une tâche de DataBrew recette.

Pour créer une tâche de recette
  1. Connectez-vous à la DataBrew console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/databrew/.

  2. Choisissez JOBS dans le volet de navigation, choisissez l'onglet Recipe jobs, puis choisissez Create job.

  3. Entrez un nom pour votre tâche, puis choisissez Créer une tâche de recette.

  4. Pour la saisie Job, entrez les détails de la tâche que vous souhaitez créer : le nom du jeu de données à traiter et la recette à utiliser.

    Une tâche de recette utilise une DataBrew recette pour transformer un ensemble de données. Pour utiliser une recette, assurez-vous de la publier au préalable.

  5. Configurez les paramètres de sortie de votre tâche.

    Indiquez une destination pour le résultat de votre travail. Si aucune DataBrew connexion n'est configurée pour votre destination de sortie, configurez-la d'abord dans l'onglet DATASETS comme décrit dansConnexions prises en charge pour les sources de données et les sorties. Choisissez l'une des destinations de sortie suivantes :

    • Amazon S3, avec ou sans AWS Glue Data Catalog support

    • Amazon Redshift, avec ou sans assistance AWS Glue Data Catalog

    • JDBC

    • Tables Snowflake

    • Tables de base de données Amazon RDS avec AWS Glue Data Catalog support. Les tables de base de données Amazon RDS prennent en charge les moteurs de base de données suivants :

      • Amazon Aurora

      • MySQL

      • Oracle

      • PostgreSQL

      • Microsoft SQL Server

    • Amazon S3 avec AWS Glue Data Catalog support.

    Pour la AWS Glue Data Catalog sortie basée sur AWS Lake Formation, ne DataBrew prend en charge que le remplacement de fichiers existants. Dans cette approche, les fichiers sont remplacés afin de conserver intactes vos autorisations Lake Formation existantes pour votre rôle d'accès aux données. DataBrew Donne également la priorité à l'emplacement Amazon S3 indiqué dans le AWS Glue Data Catalog tableau. Ainsi, vous ne pouvez pas modifier l'emplacement Amazon S3 lors de la création d'une tâche de recette.

    Dans certains cas, l'emplacement Amazon S3 indiqué dans le résultat de la tâche est différent de celui indiqué dans le tableau du catalogue de données. Dans ces cas, DataBrew met automatiquement à jour la définition de tâche avec l'emplacement Amazon S3 indiqué dans la table du catalogue. Il le fait lorsque vous mettez à jour ou démarrez vos tâches existantes.

  6. Pour les destinations de sortie Amazon S3 uniquement, d'autres choix s'offrent à vous :

    1. Choisissez l'un des formats de sortie de données disponibles pour Amazon S3, la compression facultative et un séparateur personnalisé en option. Les délimiteurs pris en charge pour les fichiers de sortie sont les mêmes que pour les fichiers d'entrée : virgule, deux-points, point-virgule, tube, tabulation, curseur, barre oblique inversée et espace. Pour plus de détails sur le formatage, consultez le tableau suivant.

      Format Extension de fichier (non compressée) Extensions de fichiers (compressées)

      Comma-separated valeurs

      .csv .csv.snappy, .csv.gz, .csv.lz4, csv.bz2, .csv.deflate, csv.br

      Tab-separated valeurs

      .csv .tsv.snappy, .tsv.gz, .tsv.lz4, tsv.bz2, .tsv.deflate, tsv.br
      Apache Parquet .parquet .parquet.snappy, .parquet.gz, .parquet.lz4, .parquet.lzo, .parquet.br
      AWS Glue Parquet Non pris en charge .glue.parquet.snappy
      Apache Avro .avro .avro.snappy, .avro.gz, .avro.lz4, .avro.bz2, .avro.deflate, .avro.br
      Apache ORC .orc .orc.snappy, .orc.lzo, .orc.zlib
      xml .xml .xml.snappy, .xml.gz, .xml.lz4, .xml.bz2, .xml.deflate, .xml.br
      JSON (format de lignes JSON uniquement) .json .json.snappy, .json.gz, .json.lz4, json.bz2, .json.deflate, .json.br
      Tableau Hyper Non pris en charge Non applicable
    2. Choisissez de sortir un seul fichier ou plusieurs fichiers. Il existe trois options pour la sortie de fichiers avec Amazon S3 :

      • Génération automatique de fichiers (recommandé) : a DataBrew déterminé le nombre optimal de fichiers de sortie.

      • Sortie de fichier unique — Permet de générer un seul fichier de sortie. Cette option peut augmenter le temps d'exécution des tâches car un post-traitement est nécessaire.

      • Sortie de fichiers multiples — Avez-vous spécifié le nombre de fichiers pour la sortie de votre tâche ? Les valeurs valides sont 2 à 999. Le nombre de fichiers générés peut être inférieur à celui que vous spécifiez si le partitionnement des colonnes est utilisé ou si le nombre de lignes de la sortie est inférieur au nombre de fichiers que vous spécifiez.

    3. (Facultatif) Choisissez le partitionnement des colonnes pour la sortie des tâches de recette.

      Le partitionnement en colonnes constitue un autre moyen de partitionner le résultat de votre travail de recette en plusieurs fichiers. Le partitionnement des colonnes peut être utilisé avec une sortie Amazon S3 nouvelle ou existante ou avec une nouvelle sortie du catalogue de données Amazon S3. Il ne peut pas être utilisé avec les tables Amazon S3 du catalogue de données existantes. Les fichiers de sortie sont basés sur les valeurs des noms de colonnes que vous spécifiez. Si les noms de colonnes que vous spécifiez sont uniques, les chemins de dossier Amazon S3 obtenus sont basés sur l'ordre des noms de colonnes.

      Pour un exemple de partitionnement de colonnesExemple de partitionnement de colonnes, reportez-vous à la section suivante.

  7. (Facultatif) Choisissez Activer le chiffrement pour la sortie de la tâche pour chiffrer la sortie de la tâche qui DataBrew écrit sur votre emplacement de sortie, puis choisissez la méthode de chiffrement :

    • Utiliser le SSE-S3 chiffrement — La sortie est chiffrée à l'aide d'un chiffrement côté serveur avec des clés de chiffrement gérées par Amazon S3.

    • Use AWS Key Management Service(AWS KMS) — La sortie est cryptée à l'aide de AWS KMS. Pour utiliser cette option, choisissez le Amazon Resource Name (ARN) de la AWS KMS clé que vous souhaitez utiliser. Si vous n'avez pas de AWS KMS clé, vous pouvez en créer une en choisissant Créer une AWS KMS clé.

  8. Pour les autorisations d'accès, choisissez un rôle Gestion des identités et des accès AWS(IAM) qui permet d' DataBrew écrire sur votre emplacement de sortie. Pour un établissement appartenant à votre AWS compte, vous pouvez choisir le rôle AwsGlueDataBrewDataAccessRole géré par le service. Cela permet d'accéder DataBrew aux AWS ressources que vous possédez.

  9. Dans le volet Paramètres avancés des tâches, vous pouvez choisir d'autres options concernant le mode d'exécution de votre tâche :

    • Nombre maximum d'unités : DataBrew traite les tâches à l'aide de plusieurs nœuds de calcul et s'exécute en parallèle. Le nombre de nœuds par défaut est de 5. Le nombre maximum de nœuds est de 149.

    • Délai d'expiration d'une tâche : si une tâche prend plus de minutes que le nombre de minutes que vous avez défini ici pour s'exécuter, elle échoue avec une erreur de temporisation. La valeur par défaut est de 2 880 minutes, soit 48 heures.

    • Nombre de tentatives : si une tâche échoue en cours d'exécution, DataBrew vous pouvez essayer de l'exécuter à nouveau. Par défaut, la tâche n'est pas réessayée.

    • Activer Amazon CloudWatch Logs pour le travail : permet DataBrew de publier des informations de diagnostic dans CloudWatch Logs. Ces journaux peuvent être utiles à des fins de résolution des problèmes ou pour obtenir plus de détails sur le traitement de la tâche.

  10. Pour les tâches planifiées, vous pouvez appliquer un calendrier de DataBrew travail afin que votre tâche soit exécutée à un moment précis ou de manière récurrente. Pour de plus amples informations, veuillez consulter Automatiser l'exécution des tâches selon un calendrier.

  11. Lorsque les paramètres sont tels que vous le souhaitez, choisissez Create job. Ou, si vous souhaitez exécuter le travail immédiatement, choisissez Create and run job.

Vous pouvez suivre la progression de votre tâche en vérifiant son statut pendant son exécution. Lorsque l'exécution de la tâche est terminée, le statut passe à Successed. La sortie de la tâche est désormais disponible à l'emplacement de sortie que vous avez choisi.

DataBrew enregistre la définition de votre tâche afin que vous puissiez exécuter la même tâche ultérieurement. Pour réexécuter une tâche, choisissez Jobs dans le volet de navigation. Choisissez le travail avec lequel vous souhaitez travailler, puis sélectionnez Exécuter le travail.

Exemple de partitionnement de colonnes

À titre d'exemple de partitionnement de colonnes, supposons que vous spécifiez trois colonnes, dont chaque ligne contient l'une des deux valeurs possibles. La Dept colonne peut avoir la valeur Admin ouEng. La Staff-type colonne peut avoir la valeur Part-time ouFull-time. La Location colonne peut avoir la valeur Office1 ouOffice2. Les compartiments Amazon S3 pour le résultat de votre travail ressemblent à ce qui suit.

s3://bucket/output-folder/Dept=Admin/Staff-type=Part-time/Area=Office1/jobId_timestamp_part0001.csv s3://bucket/output-folder/Dept=Admin/Staff-type=Part-time/Location=Office2/jobId_timestamp_part0002.csv s3://bucket/output-folder/Dept=Admin/Staff-type=Full-time/Location=Office1/jobId_timestamp_part0003.csv s3://bucket/output-folder/Dept=Admin/Staff-type=Full-time/Location=Office2/jobId_timestamp_part0004.csv s3://bucket/output-folder/Dept=Eng/Staff-type=Part-time/Location=Office1/jobId_timestamp_part0005.csv s3://bucket/output-folder/Dept=Eng/Staff-type=Part-time/Location=Office2/jobId_timestamp_part0006.csv s3://bucket/output-folder/Dept=Eng/Staff-type=Full-time/Location=Office1/jobId_timestamp_part0007.csv s3://bucket/output-folder/Dept=Eng/Staff-type=Full-time/Location=Office2/jobId_timestamp_part0008.csv

Automatiser l'exécution des tâches selon un calendrier

Vous pouvez réexécuter les DataBrew tâches à tout moment et automatiser les exécutions de DataBrew tâches selon un calendrier.

Pour réexécuter une tâche DataBrew
  1. Connectez-vous à la DataBrew console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/databrew/.

  2. Dans le volet de navigation, sélectionnez Jobs. Choisissez le travail que vous souhaitez exécuter, puis sélectionnez Exécuter le travail.

Pour exécuter une DataBrew tâche à un moment précis ou de manière récurrente, créez un calendrier de DataBrew tâches. Vous pouvez ensuite configurer votre tâche pour qu'elle s'exécute conformément au calendrier.

Pour créer un calendrier de DataBrew travail
  1. Dans le volet de navigation de la DataBrew console, sélectionnez Jobs. Cliquez sur l'onglet Programmes, puis sélectionnez Ajouter un calendrier.

  2. Entrez un nom pour votre calendrier, puis choisissez une valeur pour Fréquence d'exécution :

    • Récurrent : choisissez la fréquence à laquelle vous souhaitez que le travail soit exécuté (par exemple, toutes les 12 heures). Choisissez ensuite le ou les jours où vous souhaitez exécuter la tâche. Vous pouvez éventuellement saisir l'heure à laquelle la tâche est exécutée.

    • À une heure précise : entrez l'heure à laquelle vous souhaitez que la tâche soit exécutée. Choisissez ensuite le ou les jours où vous souhaitez exécuter la tâche.

    • Entrez CRON : définissez le calendrier des tâches en saisissant une expression cron valide. Pour de plus amples informations, veuillez consulter Utilisation d'expressions cron pour les tâches de recette.

  3. Lorsque les paramètres vous conviennent, choisissez Enregistrer.

Pour associer une tâche à un planning
  1. Dans le volet de navigation, sélectionnez Jobs.

  2. Choisissez le travail sur lequel vous souhaitez travailler, puis dans Actions, sélectionnez Modifier. .

  3. Dans le volet Planifier les tâches, choisissez Associer la planification. Choisissez le nom du calendrier que vous souhaitez utiliser.

  4. Lorsque les paramètres vous conviennent, choisissez Enregistrer.

Utilisation d'expressions cron pour les tâches de recette

Ces expressions se composent de six champs obligatoires qui sont séparés par des espaces. La syntaxe est la suivante.

Minutes Hours Day-of-month Month Day-of-week Year

Dans la syntaxe précédente, les valeurs et caractères génériques suivants sont utilisés pour les champs indiqués.

Champs Valeurs Caractères génériques

Minutes

0–59

, - * /

Heures

0 – 23

, - * /

Day-of-month

1–31

, - * ? / L W

Mois

1 à 12 ou JAN-DEC

, - * /

Day-of-week

1 à 7 ou SUN-SAT

, - * ? / L

Année

1970-2199

, - * /

Utilisez ces caractères génériques comme suit :

  • Le caractère générique , (virgule) inclut des valeurs supplémentaires. Sur le Month terrain, cela JAN,FEB,MAR inclut les mois de janvier, février et mars.

  • Le caractère générique - (en tiret) indique les plages. Sur le Day terrain, 1 à 15 inclut les jours 1 à 15 du mois spécifié.

  • Le caractère générique * (astérisque) inclut toutes les valeurs du champ. Sur le Hours terrain, * inclut toutes les heures.

  • Le caractère générique / (barre oblique) spécifie les incréments. Dans le Minutes champ, vous pouvez saisir 1/10 pour spécifier toutes les 10 minutes, à partir de la première minute de l'heure (par exemple, les 11, 21 et 31 minutes).

  • Le caractère générique ? (point d’interrogation) indique l’un ou l’autre. Supposons, par exemple, que vous saisissiez 7 dans le Day-of-month champ. Si vous ne vous souciez pas du jour de la semaine le 7, pouvez-vous alors participer ? sur le Day-of-week terrain.

  • Le caractère générique L dans le Day-of-week champ Day-of-month ou indique le dernier jour du mois ou de la semaine.

  • Le caractère générique W dans le champ spécifie un jour de la semaine. Day-of-month Dans le champ Day-of-month, 3W spécifie le jour le plus proche du troisième jour de semaine du mois.

Ces champs et valeurs présentent les limites suivantes :

  • Vous ne pouvez pas spécifier les champs Day-of-month et Day-of-week de la même expression cron. Si vous spécifiez une valeur dans l’un de ces champs, vous devez utiliser un signe ? (point d’interrogation) dans l’autre.

  • Les expressions Cron qui génèrent des débits supérieurs à 5 minutes ne sont pas prises en charge.

Lors de la création d’une planification, vous pouvez utiliser les exemples de chaînes cron suivants.

Minutes Heures Jour du mois Mois Jour de la semaine Année Signification

0 USD

10

*

*

?

*

Fonctionne à 10 h 00 (UTC) tous les jours

15

12

*

*

?

*

Exécuter à 12 h 15 (UTC) chaque jour

0

18

?

*

MON-FRI

*

Exécuter à 18 h 00 (UTC) du lundi au vendredi

0

8

1

*

?

*

Ouvert à 8 h 00 (UTC) tous les premiers jours du mois

0/15

*

*

*

?

*

Exécuter toutes les 15 minutes

0/10

*

?

*

MON-FRI

*

Exécuter toutes les 10 minutes du lundi au vendredi

0/5

8–17

?

*

MON-FRI

*

Exécuter toutes les 5 minutes du lundi au vendredi entre 8 h 00 et 17 h 55 (UTC)

Par exemple, vous pouvez utiliser l'expression cron suivante pour exécuter une tâche tous les jours à 12 h 15 UTC.

15 12 * * ? *

Supprimer des tâches et des plannings de tâches

Si vous n'avez plus besoin d'un travail ou d'un calendrier de travail, vous pouvez le supprimer.

Pour supprimer une tâche
  1. Dans le volet de navigation, sélectionnez Jobs.

  2. Choisissez le travail que vous souhaitez supprimer, puis dans Actions, choisissez Supprimer. .

Pour supprimer un planning de travail
  1. Dans le volet de navigation, choisissez Jobs, puis sélectionnez l'onglet Schedules.

  2. Choisissez le calendrier que vous souhaitez supprimer, puis dans Actions, choisissez Supprimer. .