I. 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 Studiotutoriel.

II. La source de données

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

 
Sélectionnez

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

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 :

image

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 :

 
Sélectionnez

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

III. 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.

III-A. 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".

image
image
  • Après on va sur les propriétés du composant "tOracleInput" et on modifie la requête SQL qu'il utilise.
image
  • 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".
image
  • Notre job est fin prêt à l'emploi. On lance l'exécution et voilà le résultat :
image

III-B. 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".
image
  • 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.
image
  • 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.
image
  • On refait la même chose pour les autres variables.
  • Finalement on devrait se retrouver avec quelque chose qui ressemble à ceci :
image

III-C. 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".
image
  • Ensuite on modifie une à une les autres propriétés du composant en utilisant les variables de contexte déjà créées.
image

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

image

III-D. 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".
image
  • 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".
image

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.

image

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 :

image

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é.

IV. Conclusion

Merci d'avoir lu tout ce document :), j'espère qu'il a pu aider quelques-uns de ses lecteurs, au moins pour les débutants sur TOS. Ceci dit pour les gens qui souhaiteraient apprendre encore plus je leur conseille d'aller sur le site officiel de Talend où il y'a plusieurs autres tutos très intéressants, sans oublier le forum sur Developpez où vous pouvez poser toutes vos questions !

V. Remerciements

Un grand merci à ClaudeLELOUPClaudeLELOUP pour la relecture orthographique.