Utilisation du Data Mapper dans un Job d’intégration

Dans ce tutoriel vous apprenez comment créer une MAP depuis la perspective Mapping du studio et ensuite réutiliser cette MAP dans un JOB d’intégration.

Prérequis :

  • Avoir installé Studio Talend, la partie intégration ETL (Extract Transform Load) des solutions Talend.
  • Version : Talend 8.0
  • Si connecté au Cloud Talend depuis le Studio Talend, il faut que l’utilisateur soit muni d’un rôle « Integration Developer » avec ses autorisations par défaut.
  • Avoir installé la fonctionnalité « Talend Data Mapper » depuis le gestionnaire de fonctionnalités du Studio Talend.
  • Avoir étudié le tutoriel suivant :  Présentation de Talend Data Mapper.
  • Utilisation du fichier suivant :

Contexte :

Dans un scénario, vous avec un fichier JSON contenant des informations structurées avec une hiérarchie. L’objectif est de le convertir en un fichier CSV simple avec une colonne pour chaque information en utilisant une Map préconfigurer.

1.Créer la structure d’entrée pour votre Map :

  • Ouvrez la perspective Mapping
  • Développez le nœud Hierarchical Mapper, cliquez-droit sur Structure et sélectionnez Nouveau > Structure.
  • Dans l’assistant qui s’ouvre, sélectionnez Importer une définition de structure et cliquez sur Suivant.
  • Sélectionnez Fichier échantillon JSON et cliquez sur Suivant.
  • Sélectionnez le fichier à utiliser :
    • Sélectionnez une ressource existante dans votre espace de travail.
    • Importez un fichier local.
    • Saisissez l’URL du fichier.
  • Cliquez sur Suivant.
  • Sélectionnez l’encodage des caractères et cliquez sur suivant.
  •  Sélectionnez un dossier et saisissez le nom de la nouvelle structure, puis cliquez sur Suivant.
  • Cliquez sur Terminer.

Résultats :

Votre structure est créée et s’ouvre dans l’éditeur.

2.Créer le Job d’intégration de données :

Procédure :

  • Dans la perspective Integration, cliquez-droit sur le nœud Job Designs et cliquez sur Create Standard Job.
  • Ajoutez les composants suivants dans l’espace de modélisation graphique et reliez-les à l’aide de liens Row > Main :
    • Un tFileInputRaw,
    • Un tHMap,
    • Un tFileOutputDelimited.

Votre Job doit ressembler à ceci :

  • Double-cliquez sur le tFileInputRaw pour ouvrir ses propriétés et cliquez sur le bouton […] à gauche du champ nom du fichier afin de sélectionner votre fichier JSON d’entrée.
  • Double-cliquez sur le tFileOutputDelimited et saisissez le chemin d’accès au fichier de sortie dans le champ nom du fichier.
  • Configurer le schéma de votre tFileOutputDelimited comme le montre la figure suivante :
  • Double-cliquez sur le tHMap et suivez l’assistant pour générer la map :
    • Dans la première étape, sélectionnez « sélectionnez une structure de mappeur hiérarchique existante », puis cliquez sur suivant.
    • Sélectionnez la structure créée précédemment et cliquez sur suivant, puis cliquez à nouveau sur suivant.
    • Dans la seconde étape, sélectionnez « Générer une structure de mappeur hiérarchique basées sur le schéma » et cliquez sur Suivant.
  • Cliquez sur Terminer.

Résultats

La map est générée. Elle utilise la structure d’entrée précédemment créée et génère une structure de sortie à partir du schéma défini dans les composants tFileOutputDelimited. Vous pouvez à présent mapper les éléments.

3.Mapper les éléments pour votre Job d’intégration de données :

Configurez la map générée dans la procédure précédente :

  • Glissez l’élément d’entrée customers sur l’élément de sortie row. Les éléments firstName, lastName et age sont automatiquement mappés et une fonction SimpleLoop avec une référence à l’élément d’entrée customers est ajoutée dans l’onglet Loop sur l’élément de sortie row.
  • Glissez-déposez les éléments d’entrée streetAddress, city, state et postalCode dans les éléments de sortie correspondants.
  • Glissez-déposez une expression AgConcat sur l’élément de sortie homePhoneNumber.
  • Glissez l’élément d’entrée number sur la fonction AgConcat. Cela est requis car il y a plusieurs éléments number pour chaque customers et vous devez créer une seule sortie depuis ceux-ci.Une expression d’itération utilisant la boucle d’entrée phoneNumber est générée.
  • Glissez-déposez une fonction Equal sur l’argument Filter de la fonction SimpleLoop.
  • Glissez l’élément d’entrée type sur l’argument First Value.
  • Glissez-déposez une fonction Constant sur l’argument Second Value, puis double-cliquez dessus et saisissez home dans le champ Value et cliquez sur OK.

Ce filtre vous permet de spécifier que l’élément homePhoneNumber doit retourner la valeur de l’élément d’entrée number dans les itérations où la valeur de type est égale à home.

  • Répétez les étapes précédentes pour l’expression AgConcat dans les éléments de sortie mobilePhoneNumber et workPhoneNumber et modifiez la valeur de l’expression Constant à mobile et work.
  • Sauvegardez votre map.

Résultats

Vos éléments sont à présent mappés.

  • Maintenant vous pouvez retourner à votre JOB et l’exécuter. Le contenu de votre fichier de sortie doit ressemble à ceci si vous utilisez le même fichier dans ce tutoriel.

Vous pouvez désormais créez vos propres structures et vos propre map selon vos besoins.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *