Vous êtes sur la page 1sur 22

Cration de job avec l'ETL Talend Open Studio

Par Mustapha EL HASSAK

Date de publication : 12 juillet 2011

Ce tutoriel explique l'utilisation de l'ETL Open Source Talend Open Studio pour la
transformation d'une table d'une base de donnes Oracle en une multitude de fichiers XML,
un fichier XML par ligne.

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

I - Introduction..............................................................................................................................................................3
II - La source de donnes........................................................................................................................................... 3
III - La destination des donnes..................................................................................................................................4
IV - Job Talend Open Studio.......................................................................................................................................4
IV-A - Cration d'une connexion avec la base de donnes.................................................................................. 4
IV-B - Cration du schma de notre table.............................................................................................................8
IV-C - Cration de la requte SQL utiliser....................................................................................................... 10
IV-D - Dfinition du job........................................................................................................................................ 13
IV-D-1 - Cration de la connexion Oracle...................................................................................................... 15
IV-D-2 - Cration du composant de journalisation......................................................................................... 16
IV-D-3 - Cration du fichier de sortie XML.....................................................................................................17
IV-D-4 - Cration du composant tMap........................................................................................................... 19
IV-D-5 - Transformer un champ grce au tMap ....................................................................................... 21
V - Conclusion........................................................................................................................................................... 22
VI - Remerciements................................................................................................................................................... 22

-2Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

I - Introduction
Le document suivant nous prsente les tapes de cration d'un job sous Talend Open Studio, il aura comme but de
migrer les lignes d'une table d'une base de donnes Oracle vers des fichiers XML. Le schma suivant reprsente
ce scnario :

II - La source de donnes
Avant de parler de la cration du job TOS on va tout d'abord prsenter la source de donnes, qui n'est autre qu'une
table dans une base de donnes Oracle qui a t cre dans le schma TEST avec le script suivant :
CREATE TABLE CLIENT(
CODE VARCHAR2(100 BYTE),
NOM VARCHAR2(100 BYTE),
PRENOM VARCHAR2(100 BYTE),
ADRESSE VARCHAR2(100 BYTE),
EMAIL VARCHAR2(100 BYTE)
);

Puis des lignes ont t insres dans cette table en utilisant ce script :
INSERT INTO CLIENT
VALUES
('cli001',
'ELHASSAK',
'MUSTAPHA',
'N8 BLOC10 RUE20 CASA',
'ELHASSAK.M@HOTMAIL.COM');
INSERT INTO CLIENT
VALUES
('cli002',
'Esbaiss',
'MOUAD',
'N9 BLOC310 RUE21 RABAT',
'ESBAISS.M@HOTMAIL.COM');
INSERT INTO CLIENT
VALUES
('cli003',
'zAkI',
'ANASS',
'N18 BLOC1 RUE33 CASA',
'ZAKI.A@HOTMAIL.COM');
INSERT INTO CLIENT
VALUES
('cli004',

-3Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

'MoufRIJE',
'KHALID',
'N82 BLOC33 RUE220 FES',
'MOUFRIJE.K@HOTMAIL.COM');
INSERT INTO CLIENT
VALUES
('cli005',
'hadri',
'ZAKARIA',
'N1 BLOC21 RUE10 TANGER',
'HADRI.Z@HOTMAIL.COM');

Finalement on se retrouve avec le rsultat suivant :

III - La destination des donnes


Dans cette partie on va prsenter le format de sortie de nos donnes, autrement dit du fichier XML rsultant du job.
Ce dernier aura la forme suivante :
<?xml version="1.0">
<Client code="_CODE_">
<Nom>_NOM_</Nom>
<Prenom>_PRENOM_</Prenom>
<Coordonnes>
<Adresse>_ADRESSE_</Adresse>
<Email>_EMAIL_<Email>
</Coordonnes>
</Client>

Les valeurs entre deux "_" reprsentent les parties qui vont changer suivant chaque ligne de la table.
Aprs cette description des donnes d'entre et du format de sortie, on va montrer les tapes de cration de notre
job TOS.

IV - Job Talend Open Studio


La cration du job TOS va se drouler suivant les tapes :

cration d'une connexion avec la base de donnes ;


cration du schma de notre table ;
cration de la requte SQL utiliser ;
dfinition du job.

IV-A - Cration d'une connexion avec la base de donnes


Dans l'onglet Rfrentiel on dveloppe l'arborescence jusqu' Mtadonnes puis on fait un clic droit sur
DBConnexion et on choisit Crer une connexion .

-4Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

L'assistant de cration de connexion s'affiche.

On remplit les diffrents champs en saisissant le nom, l'objectif et une description.


On clique sur Suivant .

-5Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

On choisit le type de la BD dans le combobox. Dans notre exemple c'est Oracle.


On remplit les diffrentes informations pour se connecter la base.
On clique sur Terminer .

-6Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

Voil notre connexion est cre et on peut la voir dans l'arborescence de l'onglet rfrentiel .

-7Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

IV-B - Cration du schma de notre table


Dans l'onglet Rfrentiel on dveloppe l'arborescence jusqu' arriver la connexion prcdemment cre. On
fait un clic droit puis on clique sur Rcuprer le schma .

L'assistant de rcupration de schma s'affiche.

On slectionne le type d'objet rcuprer , ici on choisit TABLE .


On clique sur Suivant .

-8Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

Les noms de toutes les tables s'affichent, on coche la ou les tables qui nous intressent.
On clique sur Suivant .

On donne un nom au schma.


On vrifie les colonnes rcupres par l'assistant dans la vue Schma .
On clique sur Terminer .

Le schma est maintenant cr et on le voit dans l'arborescence.

-9Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

IV-C - Cration de la requte SQL utiliser


Dans l'onglet Rfrentiel on dveloppe l'arborescence jusqu' arriver la connexion prcdemment cre. On
fait un clic droit puis on clique sur Editer les requtes .

- 10 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

L'assistant de cration de requtes s'affiche.

Dans la partie Structure de la base de donnes on slectionne la table qui nous intresse , on fait un clic
droit et on choisit : Gnration de la clause select .

La requte est cre droite, il ne nous reste plus qu' la sauvegarder en lui donnant un nom.

- 11 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

Finalement on clique sur OK pour terminer.

Notre requte est cre, elle apparat dans l'arborescence.

- 12 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

IV-D - Dfinition du job


Toujours dans l'onglet Rfrentiel on fait un clic droit sur Jobs , ensuite on clique sur Crer un job .

L'assistant de cration de job s'affiche.

- 13 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

On remplit les diffrents champs dcrivant le job : Nom, Objectif, Description.


On clique sur Terminer .

Maintenant que le job est cr on peut le voir dans l'arborescence.

- 14 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

On va dposer ses diffrents composants.

IV-D-1 - Cration de la connexion Oracle

Dans l'onglet Palette on choisit le composant tOracleInput , on le glisse et le dpose dans le


Designer du job.

On slectionne le composant tOracleInput , puis on va dans l'onglet Component .


On remplit les diffrents champs pour configurer la connexion avec la BD, ou bien on choisit une connexion
dj cre ce qui est notre cas.
Dans le combobox Type de proprit on choisit la valeur : Rfrentiel .
On clique sur le bouton . qui apparat droite, puis on parcourt les diffrentes connexions pour choisir
celle qui nous intresse. Puis on clique sur OK .
Aprs a dans le combobox Schma on choisit la valeur Rfrentiel puis rcuprer le schma dj
cr (ce qui est notre cas) , ou bien on clique sur diter le schma pour en crer un nouveau.

- 15 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

On clique sur le premier bouton . pour choisir notre schma. Une fentre s'affiche avec les diffrents
schmas crs. On choisit celui qui nous intresse. Puis on clique sur OK .
Aprs a il faut spcifier la requte utiliser. Dans le combobox Type de requte on choisit la valeur
Rfrentiel .
On clique sur le bouton . qui apparat droite, puis on parcourt les diffrentes requtes pour choisir celle
qui nous intresse. Puis on clique sur OK .

Voil notre connexion avec la base est configure. On passe maintenant crer le composant de journalisation.

IV-D-2 - Cration du composant de journalisation

Dans l'onglet Palette on choisit le composant tLogRow , on le glisse et le dpose dans le Designer
du job.

- 16 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

On fait un clic droit sur le composant tOracleInput puis on le glisse vers le composant tLogRow .
On slectionne le composant tLogRow , puis on va dans l'onglet Component .
On clique sur le bouton Synchroniser les colonnes pour rcuprer le schma depuis le composant
d'entre (ici c'est le tOracleInput ).
On choisit les autres diffrentes options pour notre composant.

Le composant est maintenant fin prt, et on peut dj tester le job pour voir s'il marche en appuyant sur la touche
F6 ou bien en allant dans l'onglet Excuter et en cliquant sur le bouton Excuter .

IV-D-3 - Cration du fichier de sortie XML

Dans l'onglet Palette on choisit le composant tAdvancedFileOutputXML , on le glisse et le dpose dans


le Designer du job.

- 17 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

On slectionne le composant tAdvancedFileOutputXML puis on va dans l'onglet Component .


On spcifie les diffrentes proprits du composant, notamment le nom et chemin du fichier de sortie.

On clique sur le bouton . devant le libell Configurer l'arbre XML pour crer la structure de notre XML.
L'assistant de cration de l'arbre XML s'affiche. On choisit soit de crer la structure manuellement, soit de

- 18 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

faire un clic droit sur le root Tag puis cliquer sur Importer un arbre XML , ce qui est notre cas ici. On
slectionne le fichier XML qui reprsente la structure dsire puis on clique sur Open et enfin sur OK .

Aprs on dfinit le schma qui doit tre mapp avec la structure du XML, pour cela soit on choisit un schma
du rfrentiel comme avant, soit on le cre manuellement. Dans notre exemple on choisira le mme schma
que celui de la connexion Oracle.
On fait un double-clic sur le composant tAdvancedFileOutputXML pour faire la relation entre les champs
en entre affichs dans la partie Source du lien et les balises de sortie dans la partie Cible du lien .
Pour cela il suffit de faire des glisser/dplacer depuis la partie gauche vers celle de droite.
Il faut spcifier un lment de boucle , c'est la balise sur laquelle on va boucler et c'est obligatoire, on choisit
ici la balise <Nom>.
On clique sur OK .

Maintenant on va placer un composant tMap qui nous permettra de faire quelques oprations sur les champs
avant de les mapper.

IV-D-4 - Cration du composant tMap

Dans l'onglet Palette on choisit le composant tMap , on le glisse et le dpose dans le Designer du
job.

- 19 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

On fait un clic droit sur le composant tLogRow puis on glisse vers le composant tMap .
On fait un clic droit sur le composant tMap puis on glisse vers le composant
tAdvancedFileOutputXML , on donne un nom au lien qui sera cr. Puis on clique sur Oui pour
rcuprer les schmas de la cible.

On fait un double-clique sur le composant tMap pour faire le mapping.


Soit on fait des glisser/dplacer entre le schma d'entre et celui de sortie, soit si les noms des colonnes sont
identiques on clique sur le bouton autoMap .

- 20 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

Le job est prt tre excut, on appuie sur le bouton F6 , et si on va sur le dossier de sortie on retrouvera
nos fichiers XML.

IV-D-5 - Transformer un champ grce au tMap


On suppose qu'on veut transformer le champ Nom des clients en majuscules.

On fait un double-clic sur le tMap .


On slectionne la colonne transformer dans le schma de sortie.
Il y a un bouton . qui apparat, on clique dessus.
L'assistant de construction d'expression s'affiche.
On choisit en bas gauche la catgorie de fonction qui nous intresse (dans notre cas on choisira
StringHandling ), puis dans la colonne de droite on choisit la fonction dsire, dans notre cas ce sera
UPCASE .
On fait un double-clic dessus.
On modifie l'expression du haut comme dans l'aperu en bas.
Finalement on clique sur OK .

- 21 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK

On peut maintenant relancer le job on remarque que les noms des clients sont maintenant tous en majuscules.

V - Conclusion
Merci d'avoir lu tout ce document :), j'espre qu'il a pu aider quelques-uns de ses lecteurs, au moins pour les dbutants
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 trs intressants, sans oublier le forum sur Developpez o vous pouvez
poser toutes vos questions !

VI - Remerciements
Un grand merci ClaudeLELOUP pour la relecture orthographique.

- 22 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention
pralable de l'autorisation de l'auteur.

http://haskouse.developpez.com/tutoriels/etl/talend-open-studio/creation-job/