Académique Documents
Professionnel Documents
Culture Documents
Bien Debuter Projet Talend PDF
Bien Debuter Projet Talend PDF
Ce tutoriel va vous expliquer comment bien dbuter un projet Talend. Quelles sont les
tapes essentielles ne pas oublier et quels sont les piges viter.
I - Introduction..............................................................................................................................................................3
II - Configuration matrielle......................................................................................................................................... 4
III - Les environnements de travail..............................................................................................................................5
IV - Ajout des variables de contexte........................................................................................................................... 7
V - Dfinir les types de variables.............................................................................................................................. 11
VI - Grer les mtadonnes...................................................................................................................................... 14
VI-A - Dfinir les connexions aux bases de donnes......................................................................................... 14
VI-B - Dfinir les fichiers sources/cibles.............................................................................................................. 18
VI-C - Utilisation des mtadonnes..................................................................................................................... 21
VII - Gestion des logs................................................................................................................................................24
VIII - Conclusion........................................................................................................................................................ 27
IX - Remerciements................................................................................................................................................... 28
-2-
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
I - Introduction
Lorsque l'on commence un projet Talend, il est parfois difficile de savoir par o commencer et on s'aperoit trop tard
qu'on aurait d dfinir plus de variables de contexte, plus de schmas... Du coup on revient sur les dveloppements
et la perte de temps qui en dcoule peut, dans certains cas, tre critique pour un projet.
Que ce soit avec Talend Open Studio (TOS : version Open Source) ou Talend Integration Suite (TIS : version
payante collaborative), il convient d'organiser ds le dbut l'espace de travail de faon optimise pour la suite des
dveloppements.
Ce tutoriel va donc vous expliquer pas pas comment bien dbuter un projet avec Talend. Tous les exemples seront
tirs de la version gratuite TOS 3.2.1 mais la mthode est approximativement la mme avec TIS ou d'autres version
de TOS.
-3-
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
II - Configuration matrielle
Pour utiliser le client Talend, il faut savoir qu'il se base sur une plateforme clipse. Cette plateforme est trs gourmande
en CPU et en mmoire vive.
Prfrez des postes avec au minimum :
-4-
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
DEV
192.168.3.1
PREPROD
srv1-preprod
PROD
developpez.com
//192.168.3.1/ //srv1appli/dev/
preprod/
bin/
bin/
/appli/
myProject/
bin/
log/
log/
log/
in-file/
in/
in/
out-file/
out/
out/
jsd03
myPasswd
bob
secret
dupont
verySecret
22
192.168.3.2
22
192.168.4.5
23
developpez.com
jsd03
ftpPreprod
myFtpPasswd sec
ftpProd
vSec
ftp-dev
ftp-preprod
ftp-prod
192.168.3.1
serv-preprod
developpez.com
DBdev
DBpreprod
DBProd
-5-
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
de la base de
donnes
DBPassword Mot de passe
de la base de
donnes
DBPort
Port de la
base de
donnes
Paramtres
Paramtres
additionnels additionnels
de la base de de la base de
donnes
donnes
DBBase
Nom de la
base de
donnes
RefFileName1 Nom du
fichier de
rfrences
...
...
DBpwd
DBpwd
DBpwd
DBpwd
3306
1290
1551
1551
noDatetimeStringSync=true
charset=UTF-8 charset=UTF-8 charset=UTF-8
DEV
XE
PREPROD
PROD
...
...
...
-6-
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Pour commencer on va ajouter les variables concernant les informations relatives au serveur en crant un groupe
de contexte nomm "server".
Vous pouvez voir que l'on peut modifier le type de donnes renseignes (String, int, boolean...)
Cliquez maintenant sur l'onglet "Valeurs en table". C'est ici que l'on va dfinir les valeurs des variables.
-7-
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Nous n'allons pas dfinir tout de suite les valeurs des variables mais ajouter les trois environnements que nous avons
mentionn plus haut en cliquant sur le bouton entour en rouge sur l'image ci-dessous.
-8-
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Une fois que vous aurez cliquez sur OK, Talend va ajouter autant de colonnes que d'environnements renseigns.
Pour changer d'environnement lors de l'excution d'un job, allez dans l'onglet "Excuter"
et choisissez le contexte voulu.
Vous pouvez maintenant reprendre votre liste de variables et ajouter les valeurs.
-9-
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Vous pouvez refaire cette opration autant de fois que vous avez de groupe de contexte dfinir.
N'ajoutez pas pour le moment les informations relatives aux bases de donnes car Talend
va pouvoir importer les informations de connexion automatiquement comme nous allons
le voir dans le chapitre VI.
Pour utiliser ces variables, il suffit d'ajouter dans l'onglet "Context" du job, les variables de contextes ncessaires et
d'appeler une variable de cette manire :
context.logFolder
- 10 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Vous pouvez ainsi dfinir les longueurs par dfaut du type String une taille de 300.
Maintenant que vous avez dfini les types et les longueurs des variables, cliquez sur "Metadata of TalendType" pour
dfinir les relations types base de donnes / variables Java. Car par exemple, Talend va charger les donnes de type
NUMBER (pour une base de donnes Oracle) dans une variable de type BigDecimal, alors que vous souhaitez plutt
que le type NUMBER soit mapper avec un type Integer Java (plus maniable).
- 11 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Dans cette fentre, vous pouvez voir une liste de fichiers XML qui mappent les types "base de donnes" avec les
types Java.
Par exemple, on va modifier le mapping NUMBER -> BigDecimal d'une base de donnes Oracle pour obtenir
NUMBER -> Integer
Double cliquez sur le fichier mapping_Oracle.xml et recherchez la section suivante :
<talendType type="id_BigDecimal">
<dbType type="DEC" default="true"/>
<dbType type="DECIMAL"/>
<dbType type="NUMERIC"/>
<dbType type="NUMBER"/>
</talendType>
Coupez la ligne :
<dbType type="NUMBER"/>
- 12 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
- 13 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Aprs avoir cliquez sur [Suivant], renseignez toutes les informations relatives la connexion.
Vous pouvez enfin tester la connexion en cliquant sur le bouton [Vrifier].
- 14 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Maintenant, chose trs importante ce niveau, on va pouvoir exporter les variables lies la connexion dans un
groupe de contexte en cliquant sur le bouton [Exporter comme context].
Comme dans le chapitre prcdent vous allez pouvoir dfinir les valeurs de la connexion pour chaque environnement
de travail.
- 15 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Cliquez successivement sur le bouton [Suivant] puis sur l'onglet "Valeurs en table" ensuite, cliquez comme indiqu
sur l'image :
Vous pouvez maintenant rcuprer le schma des tables de la connexion prcdemment paramtre. Pour cela
faites un clic droit sur la connexion voulue puis sur "Rcuprer le schma"
- 16 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Une fentre va vous demander quel rfrentiel utiliser pour se connecter la base de donnes : vous de choisir.
Vous pouvez ensuite choisir quels objets importer. Pour l'exemple, je ne vais importer que le schma des tables.
- 17 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Dans le fentre qui s'affiche, renseignez le nom du fichier (il peut tre diffrent du nom physique du fichier dans le
file system). Cliquez sur le bouton [Suivant].
La fentre qui s'affiche maintenant va vous permettre de visualiser les donnes du fichier dont on veut rcuprer
le schma.
vitez de charger un fichier de plus de 1 Mo car plus le volume sera important et plus
Talend risque d'avoir du mal charger ce fichier et rcuprer son schma. Privilgiez
un fichier peu volumineux.
Aprs avoir cliqu sur le bouton [Suivant], la fentre suivante s'affiche et vous permet de paramtrer le fichier
savoir : l'encodage, le sparateur et tout un tas d'autres choses que je vous laisse dcouvrir et qui n'ont pas besoin
d'tre expliques.
- 19 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
La fentre suivante permet de dfinir le schma du fichier. Par dfaut, Talend propose un schma qu'il a
automatiquement rcupr en fonction des donnes prsentes dans le fichier.
- 20 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Pour finir, cliquez sur le bouton [Terminer]. Le schma du fichier s'est ajout aux mtadonnes.
- 21 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Admettons que vous allez utiliser plusieurs fois la table "Users" de la base de donnes Mysql_in, que j'ai dfinie
plus haut, dans plusieurs jobs. Ce serait dommage d'avoir redfinir le schma de la table chaque utilisation d'un
tMySQLInput.
Pour utiliser la connexion la base de donnes MySQL et le schma de la table "Users", suivez la procdure indique
ci-dessous : :
faites un glisser/dposer de table Users de la connexion MySQL dfini dans les metadatas. Talend va vous demander
quel type de composant sera utilis avec cette table : choisissez tMysqlInput
Une seconde fentre s'affiche pour savoir si vous voulez ou non importer les contextes relatifs la connexion la
base de donnes. Cliquez sur le bouton [Ajouter].
Le composant ajout, vous pouvez double-cliquer sur ce dernier pour voir son paramtrage :
- 22 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
On voit alors que la base de donnes est issue du rfrentiel (metadata) et que le schma de la table est lui aussi
issu du rfrentiel. Talend a mme gnr automatiquement la requte de rcupration de l'ensemble de la table.
En une minute : en faisant uniquement un glisser/dposer et deux clics vous avez cr une connexion la table
Users de la base mysql sans coder une seule ligne !
chaque fois que vous utiliserez un composant, vous pourrez ainsi faire appel au mtadonnes du rfrentiel et
donc ne plus avoir dfinir manuellement les schmas des composants. Soit un gain de temps non ngligeable.
- 23 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Explications :
J'ai renseign dans le champ "chemin du fichier" (dossier de sauvegarde des logs) context.projectFolder
+context.logFolder car prcdemment j'ai ajout un groupe de contexte "server" avec les variables projectFolder et
logFolder. La combinaison des deux variables me donne le dossier de sauvegarde des logs.
Pour ce qui est du nom des logs plusieurs options s'offrent vous :
1
2
3
soit vous indiquez un nom de fichier fixe par exemple mesLogs.log. Dans ce cas, tous les logs iront dans ce
fichier ce qui pourrait poser des problmes de taille;
soit vous indiquez un nom de fichier par rapport la date courante (comme j'ai fais) :
TalendDate.getDate("CCYYMMDD")+".log". Les logs seront sauvegards par jour dans un fichier avec un
nom de type 20100222.log;
soit vous choisissez un fichier de log pour chaque job et dans ce cas il faut utiliser la variable "jobName"
que vous pouvez concatner avec le nom du projet par exemple et la date (pour faire compliqu :)) :
projectName+"."+jobName+"_"+TalendDate.getDate("CCYYMMDD")+".log"
J'ai prfr utiliser les variables de contexte car cela permet de passer d'un environnement de travail l'autre sans
problme de chemin invalide.
Maintenant, si vous ajoutez un nouveau job, vous aurez ceci dans l'onglet "Job" partie "Stats and Logs" :
- 24 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
Par contre le job n'a pas automatiquement ajout les contextes propres la configuration des logs. Il faut donc
maintenant le faire.
Pour cela, cliquez sur l'onglet "Contexts" puis sur le bouton ct de la flche bas :
Choisissez ensuite les deux variables de contexte logFolder et projectFolder du groupe server.
Une autre fentre s'affiche quand vous cliquez sur [OK]. Cette fentre permet d'importer les environnements de travail.
Une fois termin, les variables de contexte relatives aux logs seront ajouts et vous pourrez alors commencer
dvelopper vos jobs.
Les fichiers de logs pourront ressembler cela :
- 25 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
2010-02-17 15:20:08;E2BzGt;E2BzGt;E2BzGt;MONPROJET;test2;Default;6;Java
Exception;tFileInputDelimited_1;java.io.FileNotFoundException:C:\Documents and Settings\Developpez
\Bureau\monFichier.csv (Le fichier spcifi est introuvable);1
On a ainsi l'endroit o le process plant : MONPROJET (le nom du projet), test2 (le nom du job). Les informations
sur le contexte utilis : Default et l'erreur java.
On peut faire exactement la mme chose pour les mtriques des jobs (combien de
donnes entres, combien de donnes traites...) et leurs statistiques (heure de dbut,
heure de fin et temps d'excution) .
Exemple de fichier des statistiques :
2010-02-17 15:26:02;WeW17F;WeW17F;WeW17F;2400;MONPROJET;test2;_kR0M0BvNEdWqpfVv2WXGQ;0.1;Default;;begin;;
2010-02-17 15:26:02;WeW17F;WeW17F;WeW17F;2400;MONPROJET;test2;_kR0M0BvNEdWqpfVv2WXGQ;0.1;Default;;end;success;47
- 26 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
VIII - Conclusion
Pour bien commencer dvelopper un projet sous Talend, voici les sept tapes essentielles :
1
2
3
4
5
6
7
choisir des postes de travail performants pour une meilleure souplesse de dveloppement;
choisir un serveur encore plus performant que les poste de travail;
lister les variables qui seront utilises dans le projet;
ajouter les variables de contexte se basant sur la liste prcdente;
ajouter les connexions aux bases de donnes;
ajouter les schmas sources et cibles (metadata);
ne pas oublier les logs.
Maintenant que vous avez bien retenu ces tapes, vos PC et bon dveloppement.
- 27 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/
IX - Remerciements
Je remercie jacques_jean pour ses remarques et sa relecture.
- 28 -
http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/