Création de Routines et les utiliser dans un job Talend.

Prérequis :

Contexte :
Pour certains flux de données vous avez besoin d’effectuer des calculs, appliquer des traitements pour une condition spécifique, … etc. alors pour se faire la méthode classique est d’écrire votre code java de votre traitement dans l’éditeur de mapping (tMap). Or que ce code par fois il est long, illisible et en plus il n’est pas réutilisable.
La solution pour ce type de traitement est de créer une routine qui est tout simplement une classe java qui contient plusieurs fonctions qui sont personnalisées pour chaque cas d’utilisation et réutilisable dans tout le projet.

Objectif du tutoriel :

Dans ce tutoriel vous allez apprendre comment créer une routine simple et de la réutiliser dans votre traitement. Dans notre scénario la routine va nous permettre de calculer le prix total = prix unitaire * quantité.  

Création d’une Routine :

Procédure :

  • Dans la vue Repository sélectionnez Code > Global Routines et sélectionnez Create routine dans le menu contextuel.
  • Dans la boîte de dialogue New routine qui s’ouvre, renseignez les propriétés génériques de la nouvelle routine, comme son nom, dans le champ Name, son objectif, dans le champ Purpose (facultatif) et sa Description (facultative).
  • Cliquez sur Finish.
  • Votre routine est créée est vous prouver maintenant la personnaliser en ajoutant ou en modifiant le code.

Dans notre cas j’ai créé une fonction « calculer_Prix » qui prend 2 paramètres prix et quantité. Elle teste s’ils sont null et elle effectue le produit entre le prix et la quantité. La figure ci-dessous montre le code que nous avons utilisé dans ce tutoriel

Utilisation de la routine dans un job :

Procédure :

  • Ajouter un composant tFixedFlowInput est le configurer pour avoir un flux qui contient id_produit, prix_unit, quantité.
  • Ensuite reliez la sortie de ce flux avec un tMap. Ouvrez l’editeur de mapping créer une sortie avec les mêmes champs de l’entré et ajoutez un nouveau champ « prix_total ».
  • Dans la valeur de ce champ appelez la routine pour faire le calcul. Pour cela utiliser le nom de la routine suivi d’un point puis le nom de la fonction (nom_routine.nom_fonction(Params))
  • Reliez la sortie de votre tMap avec un tlogRow et exécutez votre job.
  • Résultat

Vous savez désormais comment créer une routine et la réutiliser dans vos traitements depuis votre studio Talend.

Laisser un commentaire

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