Vous êtes sur la page 1sur 32

Cration de job avec l'ETL Talend Open Studio

par Mustapha EL HASSAK (Haskouse sur DVP)


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 (Haskouse sur DVP)

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

-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 (Haskouse sur DVP)

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 -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 (Haskouse sur DVP) 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', '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>

-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 (Haskouse sur DVP)

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 .

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 (Haskouse sur DVP)

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 (Haskouse sur DVP)

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 (Haskouse sur DVP)

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 .

-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 (Haskouse sur DVP)

L'assistant de rcupration de schma s'affiche. On slectionne le type d'objet rcuprer , ici on choisit TABLE . On clique sur Suivant .

-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 (Haskouse sur DVP)

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

- 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 (Haskouse sur DVP)

On donne un nom au schma. On vrifie les colonnes rcupres par l'assistant dans la vue Schma . On clique sur Terminer .

- 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 (Haskouse sur DVP)

Le schma est maintenant cr et on le voit 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 (Haskouse sur DVP)

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 .

- 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 (Haskouse sur DVP)

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 .

- 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 (Haskouse sur DVP)

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

- 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 (Haskouse sur DVP)

- 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 (Haskouse sur DVP)

Finalement on clique sur OK pour terminer.

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

- 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 (Haskouse sur DVP)

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.

- 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 (Haskouse sur DVP)

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.

- 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 (Haskouse sur DVP)

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.

- 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 (Haskouse sur DVP)

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.

- 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 (Haskouse sur DVP)

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 .

- 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/

Cration de job avec l'ETL Talend Open Studio par Mustapha EL HASSAK (Haskouse sur DVP)

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.

- 23 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 (Haskouse sur DVP)

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.

- 24 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 (Haskouse sur DVP)

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

- 25 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 (Haskouse sur DVP)

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 .

- 26 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 (Haskouse sur DVP)

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.

- 27 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 (Haskouse sur DVP)

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 .

- 28 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 (Haskouse sur DVP)

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.

- 29 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 (Haskouse sur DVP)

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 .

- 30 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 (Haskouse sur DVP)

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

- 31 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 (Haskouse sur DVP)

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.

- 32 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/

Vous aimerez peut-être aussi