New Article

Talend Certification Tips - Tip #002 : Know your tMap Joins

Image
Hi Talend Addicts, Ready to learn more about the Talend great ETL tool! This post is part of the new series discussing the most important things (Tips) to know for anybody who want to tackle the Talend Open Studio for Data Integration Certification Exam. Today's Tip is:  Tip #002: Know your tMap Joins! tMap is one, if not THE, most important component in a Talend Job.  P ersonally  I have never seen any Talend Job without at least one occurence of this component, and  believe  it or not many questions around this component on the certification exam! the tMap can be used to (obviously) map data from input to output, but even more. Map data - already said that, but very important, so I say it again! Filter input data Filter output data Transform data Join data In today's post I'll focus on the last but not least one - JOIN Data So let's kick this off with some examples; and see what are the different types of joins you can build with Talend tMap component. Settin...

Utilisation des variables de contexte avec l'ETL Talend Open Studio

Ce tutoriel va nous permettre de comprendre comment utiliser les variables de contexte avec Talend Open Studio puis comment exploiter ces dernières après l'exportation de notre job sous forme de batch.


1. Introduction

L'article suivant nous présente comment utiliser les variables de contexte dans un job assez simple qui lancera une requête "select" sur une base de données Oracle, ensuite nous allons exporter ce job en batch Windows et voir toute l'utilité des variables de contexte.
Avant de commencer je tiens à préciser qu'on n'abordera pas dans ce tutoriel le détail de création de job sous Talend vu que ça a été discuté dans cet autre tutoriel : Création de job avec l'ETL Talend Open Studio.

2. La source de données

La source de données a été créée par les deux scripts suivants :

CREATE TABLE CLIENT(
       CODE VARCHAR2(100 BYTE),
       NOM VARCHAR2(100 BYTE),
       PRENOM VARCHAR2(100 BYTE)
       );


INSERT INTO CLIENT
VALUES
  ('cli001',
   'ELHASSAK',
   'MUSTAPHA');
INSERT INTO CLIENT
VALUES
  ('cli002',
   'Esbaiss',
   'MOUAD');
INSERT INTO CLIENT
VALUES
  ('cli003', 
   'zAkI', 
   'ANASS'); 

Finalement on se retrouve avec le résultat suivant :




Le job qu'on va créer exécutera la requête suivante sur notre table, il s'agit d'une sélection de toutes les colonnes de la table avec une condition sur la colonne "CODE", par exemple :


SELECT code, nom, prenom
FROM CLIENT
WHERE code LIKE 'cli001' 

3.  Job Talend Open Studio

La création du job TOS va se dérouler suivant les étapes :
  • création du job ;
  • ajout des variables de contexte au job ;
  • utilisation des variables de contexte dans les composants ;
  • export du job en batch.
3.1 Création du job
La création du job est assez rudimentaire. Après création d'un job, on glisse le schéma de notre table dans le designer, puis on choisit le composant "tOracleInput".








Après on va sur les propriétés du composant "tOracleInput" et on modifie la requête SQL qu'il utilise.



Ceci fait, on glisse un deuxième composant depuis la palette, cette fois-ci ce sera un composant "tLogRow" qui servira à afficher le résultat de la requête dans la fenêtre console. Ce composant est utilisé ici juste pour l'affichage. Après on lie ce dernier avec le "tOracleInput" avec un lien de type "main".



Notre job est fin prêt à l'emploi. On lance l'exécution et voilà le résultat :



3.2 Ajout des variables de contexte au job

Maintenant que notre job est opérationnel on va commencer à utiliser les variables de contexte, en fait on va essayer de rendre les paramètres de connexion à notre base de données moins statiques, au lieu de les laisser figés dans le job on va les stocker dans des variables de contexte.
Pour ça on commence par créer les variables.
  • On commence par cliquer sur l'onglet "Context".

  • On clique sur le bouton "+" qui est en bas pour ajouter une variable.
  • On lui donne le nom "hote", le type "String" et on laisse les autres colonnes à leur valeur par défaut.


  • Enfin pour donner une valeur par défaut à notre variable on va sur l'onglet "Valeurs en table" puis on tape dans la colonne "Default" correspondant à notre variable la valeur qu'on veut.
  • Il s'agit d'une variable de type String donc il ne faut pas oublier les guillemets.


  • On refait la même chose pour les autres variables.
  • Finalement on devrait se retrouver avec quelque chose qui ressemble à ceci :

 
3.3 Utilisation des variables de contexte dans les composants

Pour utiliser nos variables précédemment créées il suffit de les appeler n'importe où sous la forme context.nomDeMaVariable.
Passons à la pratique, on modifiera les paramètres de notre "tOracleInput".
  • On commence par rendre le type de propriété du composant en "Built-in" au lieu de "Référentiel".



Ensuite on modifie une à une les autres propriétés du composant en utilisant les variables de contexte déjà créées.





 Voilà, notre job est de nouveau prêt à l'emploi, il suffit de l'exécuter.




3.4 Export du job en batch

Cette opération est assez simple à réaliser avec Talend Open Studio.
  • En effet on sauvegarde notre job puis on le ferme, ensuite on fait dessus un clic droit, puis on clique sur "Exporter les jobs".


  • La fenêtre d'export s'affiche, on tape le chemin du fichier exporté, on choisit le type d'export "Autonomous Job" et on spécifie la plate-forme "Windows" avant de cliquer sur "Terminer".




Notre job est maintenant exporté et on peut aller voir les fichiers générés sur notre système.
Parmi les fichiers générés on trouve un fichier .bat qui permet d'exécuter le job.




 Revenons à nos variables de contexte, certains diront : "à quoi peuvent-elles bien servir ?" Et bien c'est ici qu'on verra toute leur puissance. En regardant dans les fichiers générés on peut retrouver un dossier "contexts" avec dedans un fichier Default.properties si on s'amuse à ouvrir ce fichier voilà ce qu'on y voit :



En effet on y retrouve toutes nos variables de contexte déclarées, et il suffit de modifier ce fichier pour modifier le comportement de notre job, si par exemple la base de données a changé d'adresse alors pas besoin de rouvrir le job avec Talend Open Studio, de le modifier puis de le régénérer. Non, il suffit juste de modifier l'entrée "hote" dans le fichier Default.properties et le tour est joué.

4. Conclusion

Merci d'avoir lu tout le document. Finalement pour les gens qui souhaiteraient apprendre encore plus je leur conseille d'aller sur les autres tutos très intéressants de ce même blog. Sinon si vous avez des questions n'hésitez pas à poster des commentaires et je vous réponderai volentiers.

Bonne chance pour la pratique de ce tuto et je vous donne rendez-vous prochainement pour un nouveau titoriel cette fois-ci sur comment utiliser Talend Open Studio pour générer un fichier Excel et lancer dessus une MACRO (pour le formatter par exemple).

Comments

  1. Replies
    1. Je vous en prie.
      Si vous avez des questions n'hésitez surtout pas.

      Delete
  2. Salut mustapha
    je suis debutante en informatique decitionnelle et j'utilise talend pour la premiere fois .
    Pour visualiser les résultat de mon traitement (dans ce cas 'select' ) avec le "tOracleInput" , est ce que je dois créer une table vide avec les meme colonnes 'code,nom,prenom' dans ma base de données.
    Merci :)

    ReplyDelete

Post a Comment