Retour

Mapping de flux sur Talend Studio

Temps de lecture : 4 minutes

Prérequis :

Composants ETL utilisés dans le traitement :

  • tDBInput : Pour extraire des données d’une base de données.
  • tFileInputDelimited : Pour lire un fichier délimité ligne par ligne, afin de le diviser en champs et d’envoyer ces champs au composant suivant.
  • tDBOutput : Pour écrir, mettre à jour, modifier ou supprimer les données d’une base de données.
  • TMap : Pour transformer et router des données à partir d’une ou plusieurs source(s) de données vers une ou plusieurs destination(s).

Contexte :

Vous disposez d’une table Employé dans une base de données et vous avez deux champs VilleId et PaysId contenant des références vers leurs valeurs et que vous voulez remplacez les Id par les valeurs correspondantes.

Votre flux principal qui est la table Employée est représenté par la structure suivante :

Votre flux Pays de type Lookup est représenté par la structure suivante :  

Votre flux Ville de type Lookup est représenté par la structure suivante :

Solution :

Dans ce tutoriel nous vous proposons de créer un job de type ETL (Extract, Transform, Load) afin d’extraire les données, faire des jointures entre les sources de données et de mapper les bonnes valeurs. Pour se faire suivez les étapes suivantes :

1.Créez un nouveau job, et positionnez vous dans la vue designer.

2.Positionnez vous dans la vue Palette et choisissez les composants suivants :

  • Deux tDBInput,
  • tFileInputDelimited,
  • tMap,
  • tDBOutput.

3. Configurer les schémas et les paramètres de vos composant Input et Output en suivant l’exemple de configuration d’un tDBInput :

  • Sélectionnez le composant à configurer et positionnez vous dans la vue Component.
  •  Sélectionnez le type de la base de données dans notre scénario c’est Microsoft SQL Serveur, et cliquez sur Apply.
  • Saisissez les paramètres de connexion à la base de données.
  • Configurez le schéma de votre table en cliquant sur le bouton […] puis ajoutez vos colonnes dans la fenêtre qui s’apparait.
  • Saisissez votre requête SQL dans la zone Query pour récupérer vos données.
  • Suivez la même procédure pour la configuration des autres composants.

4. Reliez votre composant qui représente le flux principal avec votre tMap en utilisant une connexion de type Main.

5. Reliez vos deux composant qui représentent les flux de type lookup avec votre tMap en utilisant une connexion de type Lookup.

Votre flux devra ressembler à celui-ci dans la figure ci-dessous :

6. Ouvrez votre éditeur de mapping en cliquant 2 fois sur votre composant tMap.

7. Liez vos sources de données en faisant des jointures entres les tables, pour se faire suivez les étapes suivantes :

  • Sélectionnez votre clé de jointure de la table principale et la faire glisser dans le champ qui correspond de la table de type lookup.
  • Configurez le type et les options de votre jointure en cliquant sur tMap settings.
  • Dans notre scénario nous avons choisis une jointure de type Inner et nous avons paramétré notre jointure à prendre qu’une correspondance unique.

8. Dans la partie à droite de votre éditeur créez une sortie en cliquant sur le bouton (+).

9. Mappez vos champs. Pour les champs principaux glissez les de votre table principale et pour les champs de type Lookup glissez les de votre table de type Lookup.

10. Cliquez sur Apply, puis OK.

11. Finalement reliez votre sortie de tMap avec votre composant tDBOutput pour écrire en base de données. Pour se faire cliquez droit sur votre tMap choisissez la sortie que vous avez créez dans l’éditeur de mapping et reliez les deux composant.

Votre flux final ressemble à celui-ci-dessous :

12. Exécutez votre Job et visualisez votre résultat en base de données qui devra ressembler à celui-ci-dessous :  

Laisser un commentaire

Il n'y a pas de commentaires pour le moment. Soyez le premier à participer !