Bien Debuter Projet Talend



Comments



Description

Bien débuter un projet TalendPar Jean-Sébastien DARGES - Fleur-Anne.Blain Date de publication : 15 mars 2010 Dernière mise à jour : 16 mars 2010 Ce tutoriel va vous expliquer comment bien débuter un projet Talend. Quelles sont les étapes essentielles à ne pas oublier et quels sont les pièges à éviter. Bien débuter un projet Talend par Jean-Sébastien DARGES - Fleur-Anne.Blain I - Introduction..............................................................................................................................................................3 II - Configuration matérielle......................................................................................................................................... 4 III - Les environnements de travail..............................................................................................................................5 IV - Ajout des variables de contexte........................................................................................................................... 7 V - Définir les types de variables.............................................................................................................................. 10 VI - Gérer les métadonnées...................................................................................................................................... 12 VI-A - Définir les connexions aux bases de données......................................................................................... 12 VI-B - Définir les fichiers sources/cibles.............................................................................................................. 15 VI-C - Utilisation des métadonnées..................................................................................................................... 17 VII - Gestion des logs................................................................................................................................................20 VIII - Conclusion........................................................................................................................................................ 22 IX - Remerciements................................................................................................................................................... 23 -2- http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/ Ce tutoriel va donc vous expliquer pas à pas comment bien débuter un projet avec Talend..com/tutoriels/bi/bien-debuter-projet-talend/ . Du coup on revient sur les développements et la perte de temps qui en découle peut. être critique pour un projet.Fleur-Anne. dans certains cas. Que ce soit avec Talend Open Studio (TOS : version Open Source) ou Talend Integration Suite (TIS : version payante collaborative). -3- http://jsdarges. il est parfois difficile de savoir par où commencer et on s'aperçoit trop tard qu'on aurait dû définir plus de variables de contexte.Bien débuter un projet Talend par Jean-Sébastien DARGES . il convient d'organiser dès le début l'espace de travail de façon optimisée pour la suite des développements.developpez.. plus de schémas.2.Introduction Lorsque l'on commence un projet Talend.1 mais la méthode est approximativement la même avec TIS ou d'autres version de TOS.Blain I . Tous les exemples seront tirés de la version gratuite TOS 3. Bien débuter un projet Talend par Jean-Sébastien DARGES .Blain II .Configuration matérielle Pour utiliser le client Talend. développerez et exécuterez vos jobs (en phase de tests). il faut savoir qu'il se base sur une plateforme éclipse. Préférez des postes avec au minimum : • • un processeur double cœur cadencé à 2GHz 2Go de mémoire et si vous êtes sous TIS : • • • idem qu'avant (voir même plus de mémoire) connexion gigabit (pour mettre à jour plus rapidement le workspace partagé) disque dur 7200tr/min (pour accélérer la lecture/écriture) Plus votre poste sera performant et plus vous chargerez rapidement le client Talend au démarrage.developpez. Cette plateforme est très gourmande en CPU et en mémoire vive.Fleur-Anne.com/tutoriels/bi/bien-debuter-projet-talend/ . -4- http://jsdarges. Par là.Bien débuter un projet Talend par Jean-Sébastien DARGES . On peut d'ailleurs le faire sous forme de tableau..168.3.. Une fois ces environnements définis.168.4. ftp. il est nécessaire de définir les environnements de travail. ssh.3. qui seront utilisées dans le projet suivant l'environnement dans lequel on se trouve.com ftpProd vSec ftp-prod developpez.168.168.1 ftp-preprod serv-preprod DBdev DBpreprod DBProd -5- http://jsdarges. comme par exemple un environnement de performance (PERF) où serait testé le projet avec un maximum de données pour vérifier que la montée en charge se déroule correctement.com/tutoriels/bi/bien-debuter-projet-talend/ .com /appli/ myProject/ bin/ //192.1/ //srv1appli/dev/ preprod/ bin/ bin/ log/ in-file/ out-file/ jsd03 myPasswd 22 192.Fleur-Anne.168.168. à savoir : l'environnement de développement (DEV).developpez.3.Blain III . ce qui permet d'avoir une vision globale de tout cela : Variable Description Default serverAddress Adresse du localhost serveur projectFolder Racine du C:/tests/ projet binFolder Dossier bin/ contenant les binaires de l'application logFolder Dossier de log/ logs inFileFolder Dossier in-file/ des fichiers source outFileFolder Dossier des out-file/ fichiers cible SshUsername Login SSH test SshPassword Mot de passe testPasswd SSH SshPort Port SSH 22 SshHost Nom d'hôte / 192. noms de fichiers. je veux parler des trois voir quatre environnements qu'on peut trouver sur un projet. accès aux bases de données. Vous pouvez bien évidement en définir plus suivant vos besoins.Les environnements de travail Tout d'abord.3. il faut maintenant faire une liste de toutes les variables.2 log/ in/ out/ bob secret 22 192.3.com jsd03 ftpPreprod myFtpPasswd sec ftp-dev 192.1 PREPROD srv1-preprod PROD developpez.2 IP du serveur SSH FtpUsername Login FTP testFt FtpPassword Mot de passe testFTPpwd FTP FtpHost Nom/IP du ftp-test serveur FTP hôte DBHost Nom du localhost serveur de base de données DBUsername Nom DBTest d'utilisateur DEV 192.5 log/ in/ out/ dupont verySecret 23 developpez. de préproduction (PREPROD) et de production (PROD). DBpwd 3306 DBpwd 1290 DBpwd 1551 DBpwd 1551 noDatetimeStringSync=true charset=UTF-8 charset=UTF-8 charset=UTF-8 DEV XE PREPROD PROD ref_users.csv . Car Talend..Blain de la base de données DBPassword Mot de passe de la base de données DBPort Port de la base de données Paramètres Paramètres additionnels additionnels de la base de de la base de données données DBBase Nom de la base de données RefFileName1 Nom du fichier de références . .Fleur-Anne.developpez... Il servira... pour définir l'environnement local du développeur (très pratique pour les phases de tests).. . dans notre exemple. j'ai aussi ajouté un nom de fichier où se trouve certaines références qui seront utilisées par exemple en lookup de certains jobs et dont le nom est fixé par avance..csv ref_users. . Pour terminer. Dans le tableau j'ai ensuite ajouté les informations sur l'architecture logicielle du projet : dossier de log. .csv ref_users. les binaires. -6- http://jsdarges...Bien débuter un projet Talend par Jean-Sébastien DARGES . Vous pouvez ainsi lister toutes les informations qui ne varieront pas tout au long du projet et dont vous vous servirez de façon répétitive.. Plusieurs choses à retenir par rapport à ce tableau : J'ai rajouté volontairement une colonne pour un environnement nommé "Default".. par défaut.csv ref_users.com/tutoriels/bi/bien-debuter-projet-talend/ . Puis les accès à un serveur SSH et FTP. enregistre toutes les variables d'un projet dans le contexte (environnement) "Default".... boolean. Vous pouvez voir que l'on peut modifier le type de données renseignées (String.Blain IV ..Ajout des variables de contexte Les variables étant maintenant listées.developpez..) Cliquez maintenant sur l'onglet "Valeurs en table".Fleur-Anne. -7- http://jsdarges.Bien débuter un projet Talend par Jean-Sébastien DARGES . Pour cela faites un clic droit sur "Contextes" dans le menu de gauche. int. Nous n'allons pas définir 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. C'est ici que l'on va définir les valeurs des variables.com/tutoriels/bi/bien-debuter-projet-talend/ . nous allons les ajouter au projet en les organisant par groupe de contexte. Puis sélectionnez "Créer un groupe de contexte" Pour commencer on va ajouter les variables concernant les informations relatives au serveur en créant un groupe de contexte nommé "server". Talend va ajouter autant de colonnes que d'environnements renseignés.Blain Une fois que vous aurez cliquez sur OK.Bien débuter un projet Talend par Jean-Sébastien DARGES . Pour changer d'environnement lors de l'exécution d'un job. allez dans l'onglet "Exécuter" et choisissez le contexte voulu. Le groupe de contexte "server" va s'ajouter à la liste des contextes. -8- http://jsdarges. Vous pouvez maintenant reprendre votre liste de variables et ajouter les valeurs.Fleur-Anne.developpez.com/tutoriels/bi/bien-debuter-projet-talend/ . Pour utiliser ces variables.Bien débuter un projet Talend par Jean-Sébastien DARGES .Blain Vous pouvez refaire cette opération autant de fois que vous avez de groupe de contexte à définir.com/tutoriels/bi/bien-debuter-projet-talend/ .Fleur-Anne. N'ajoutez pas pour le moment les informations relatives aux bases de données car Talend va pouvoir importer les informations de connexion automatiquement comme nous allons le voir dans le chapitre VI.logFolder -9- http://jsdarges. il suffit d'ajouter dans l'onglet "Context" du job. les variables de contextes nécessaires et d'appeler une variable de cette manière : context.developpez. Bien débuter un projet Talend par Jean-Sébastien DARGES . vous pouvez voir une liste de fichiers XML qui mappent les types "base de données" avec les types Java. Pour configurer cela. cliquez sur le menu "Fenêtre > Préférences". Car par exemple.Définir les types de variables Talend permet de définir les tailles par défaut des variables Java.Blain V .10 - http://jsdarges.developpez.com/tutoriels/bi/bien-debuter-projet-talend/ .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> . cliquez sur "Metadata of TalendType" pour définir les relations types base de données / variables Java. Dans cette fenêtre. Dans cette fenêtre développez l'arborescence en cliquant successivement sur "Talend > Specific Settings > Default type and Length". Par exemple. Vous pouvez ainsi définir les longueurs par défaut du type String à une taille de 300. on va modifier le mapping NUMBER -> BigDecimal d'une base de données Oracle pour obtenir NUMBER -> Integer Double cliquez sur le fichier mapping_Oracle. Maintenant que vous avez défini les types et les longueurs des variables. Talend va charger les données de type NUMBER (pour une base de données Oracle) dans une variable de type BigDecimal. alors que vous souhaitez plutôt que le type NUMBER soit mapper avec un type Integer Java (plus maniable).Fleur-Anne. com/tutoriels/bi/bien-debuter-projet-talend/ .Blain Coupez la ligne : <dbType type="NUMBER"/> et collez-là dans la section : <talendType type="id_Integer"> <dbType type="INT" default="true"/> <dbType type="INTEGER"/> <dbType type="PLS_INTEGER"/> </talendType> Repérez enfin la section : <dbType type="NUMBER"> <talendType type="id_BigDecimal" default="true" /> </dbType> et changez la valeur du paramètre type par id_Integer. .developpez.Fleur-Anne. Maintenant les valeurs de type NUMBER seront exportées/importées en Integer dans Talend à la place du type BigDecimal.11 - http://jsdarges.Bien débuter un projet Talend par Jean-Sébastien DARGES . Renseignez le nom que vous voulez donner à la connexion. Faites un clic droit sur "DB Connections" dans le menu de droite puis sur "Créer une connexion".Gérer les métadonnées VI-A . .Définir les connexions aux bases de données Un ETL permet de récupérer des données de plusieurs sources différentes.Bien débuter un projet Talend par Jean-Sébastien DARGES . de les transformer et de les recharger dans un entrepôt de données central.com/tutoriels/bi/bien-debuter-projet-talend/ . renseignez toutes les informations relatives à la connexion. Vous pouvez enfin tester la connexion en cliquant sur le bouton [Vérifier].Blain VI . Après avoir cliquez sur [Suivant].developpez.Fleur-Anne.12 - http://jsdarges. Nous allons donc maintenant définir les connexions aux bases de données. cliquez sur le bouton [Terminer]. Cliquez successivement sur le bouton [Suivant] puis sur l'onglet "Valeurs en table" ensuite.Fleur-Anne. chose très importante à ce niveau. La connexion s'est ajoutée aux métadonnées ainsi que le groupe de contexte en relation. on va pouvoir exporter les variables liées à la connexion dans un groupe de contexte en cliquant sur le bouton [Exporter comme context].13 - http://jsdarges. Une fois les variables exportées dans un groupe de contexte. reportez vous au chapitre précédent.developpez. .Blain Maintenant.com/tutoriels/bi/bien-debuter-projet-talend/ . Comme dans le chapitre précédent vous allez pouvoir définir les valeurs de la connexion pour chaque environnement de travail. cliquez comme indiqué sur l'image : Pour la suite.Bien débuter un projet Talend par Jean-Sébastien DARGES . Blain Vous pouvez maintenant récupérer le schéma des tables de la connexion précédemment paramétrée. Pour l'exemple.com/tutoriels/bi/bien-debuter-projet-talend/ .developpez. Pour cela faites un clic droit sur la connexion voulue puis sur "Récupérer le schéma" Une fenêtre va vous demander quel référentiel utiliser pour se connecter à la base de données : à vous de choisir.Bien débuter un projet Talend par Jean-Sébastien DARGES .14 - http://jsdarges. je ne vais importer que le schéma des tables.Fleur-Anne. . Vous pouvez ensuite choisir quels objets importer. Fleur-Anne.Blain Cochez ensuite les tables à importer et cliquez sur le bouton [Suivant]. on va ajouter les fichiers sources/cibles dont le schéma n'évoluera pas au cours du temps et qui seront utilisés de façon répétitive dans les jobs. Dans le fenêtre qui s'affiche. Les schémas des tables ont été ajoutés aux métadonnées et pourrons être utilisés dans les jobs. Définissez le schéma des tables si nécessaire et cliquez sur le bouton [Terminer].developpez. on va ajouter un fichier de type délimité. puis cliquez sur "Créer un fichier délimité". renseignez le nom du fichier (il peut être différent du nom physique du fichier dans le file system). Cliquez sur le bouton [Suivant].15 - http://jsdarges.com/tutoriels/bi/bien-debuter-projet-talend/ .Définir les fichiers sources/cibles Un peu comme les connexions aux bases de données. Faites un clic droit du "Fichier Délimité" dans le menu de gauche dans la partie Metadata. . Dans l'exemple qui va suivre.Bien débuter un projet Talend par Jean-Sébastien DARGES . VI-B . 16 - http://jsdarges. le séparateur et tout un tas d'autres choses que je vous laisse découvrir et qui n'ont pas besoin d'être expliquées. La fenêtre suivante permet de définir le schéma du fichier.developpez. la fenêtre suivante s'affiche et vous permet de paramétrer le fichier à savoir : l'encodage. .Fleur-Anne. Talend propose un schéma qu'il a automatiquement récupéré en fonction des données présentes dans le fichier.Blain La fenêtre qui s'affiche maintenant va vous permettre de visualiser les données du fichier dont on veut récupérer le schéma. Par défaut.Bien débuter un projet Talend par Jean-Sébastien DARGES . Après avoir cliqué sur le bouton [Suivant]. Privilégiez un fichier peu volumineux. É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 à récupérer son schéma.com/tutoriels/bi/bien-debuter-projet-talend/ . dans plusieurs jobs. VI-C .17 - http://jsdarges. Ces schémas pourront être utilisés dans n'importe quel composant. Vous pouvez ajouter des schémas génériques qui n'aurons pas une étiquette attachée du genre "schéma de fichier délimité" ou encore "schéma de fichier XML".Utilisation des métadonnées Vous avez pu ajouter de nouveaux schémas dans les métadonnées et vous vous demandez à quoi cela va servir ? Tout simplement à ne pas redéfinir à chaque fois dans chaque job le schéma des composants. Pour utiliser la connexion à la base de données MySQL et le schéma de la table "Users". Ce serait dommage d'avoir à redéfinir le schéma de la table à chaque utilisation d'un tMySQLInput.developpez. Admettons que vous allez utiliser plusieurs fois la table "Users" de la base de données Mysql_in. Faites de même pour tous les flux de données entrant et sortant.Blain Pour finir. Talend va vous demander quel type de composant sera utilisé avec cette table : choisissez tMysqlInput .Bien débuter un projet Talend par Jean-Sébastien DARGES . que j'ai définie plus haut. suivez la procédure indiquée ci-dessous : : faites un glisser/déposer de table Users de la connexion MySQL défini dans les metadatas. cliquez sur le bouton [Terminer]. Le schéma du fichier s'est ajouté aux métadonnées.Fleur-Anne.com/tutoriels/bi/bien-debuter-projet-talend/ . . vous pouvez double-cliquer sur ce dernier pour voir son paramétrage : On voit alors que la base de données est issue du référentiel (metadata) et que le schéma de la table est lui aussi issu du référentiel. Talend a même généré automatiquement la requête de récupération de l'ensemble de la table. Cliquez sur le bouton [Ajouter].Bien débuter un projet Talend par Jean-Sébastien DARGES .developpez.Blain Une seconde fenêtre s'affiche pour savoir si vous voulez ou non importer les contextes relatifs à la connexion à la base de données. Le composant ajouté.18 - http://jsdarges.com/tutoriels/bi/bien-debuter-projet-talend/ .Fleur-Anne. com/tutoriels/bi/bien-debuter-projet-talend/ .developpez.Fleur-Anne.Bien débuter un projet Talend par Jean-Sébastien DARGES .Blain En une minute : en faisant uniquement un glisser/déposer 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 métadonnées du référentiel et donc ne plus avoir à définir manuellement les schémas des composants. Soit un gain de temps non négligeable. .19 - http://jsdarges. "+jobName+"_"+TalendDate. développez le menu de gauche en cliquant sur "Job Settings" > "Stats and logs".Gestion des logs Il ne faut pas oublier de gérer les logs de vos jobs Talend. Pour cela.log" J'ai préféré utiliser les variables de contexte car cela permet de passer d'un environnement de travail à l'autre sans problème de chemin invalide.log. tous les logs iront dans ce fichier ce qui pourrait poser des problèmes de taille.Bien débuter un projet Talend par Jean-Sébastien DARGES .projectFolder +context.Fleur-Anne. Il faut donc maintenant le faire. Cliquez successivement sur "Fichier > Edit project Properties". 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.getDate("CCYYMMDD")+". vous aurez ceci dans l'onglet "Job" partie "Stats and Logs" : Par contre le job n'a pas automatiquement ajouté les contextes propres à la configuration des logs. soit vous choisissez un fichier de log pour chaque job et dans ce cas il faut utiliser la variable "jobName" que vous pouvez concaténer avec le nom du projet par exemple et à la date (pour faire compliqué :)) : projectName+". soit vous indiquez un nom de fichier par rapport à la date courante (comme j'ai fais) : TalendDate. Dans la fenêtre qui s'affiche. Dans ce cas. Les logs seront sauvegardés par jour dans un fichier avec un nom de type 20100222. si vous ajoutez un nouveau job.Blain VII . Alors qu'un fichier est lisible depuis n'importe quel poste et le risque de plantage lié au logs sera moindre.20 - http://jsdarges. Maintenant. Je vous conseille de le faire dans un fichier car si vous sauvegardez vos logs dans une base de données rien ne dit que cette dernière ne plantera jamais. On va donc voir comment générer automatiquement des logs dans vos jobs. On oublie trop souvent ou trop tard de générer des logs d'application.log". Exemple : Explications : J'ai renseigné dans le champ "chemin du fichier" (dossier de sauvegarde des logs) context.com/tutoriels/bi/bien-debuter-projet-talend/ . La combinaison des deux variables me donne le dossier de sauvegarde des logs.developpez.getDate("CCYYMMDD")+".log. cliquez sur l'onglet "Contexts" puis sur le bouton à côté de la flèche bas : . Cochez ensuite la case "Utiliser les logs (tLogCatcher) puis choisissez où sauvegarder les logs.logFolder car précédemment j'ai ajouté un groupe de contexte "server" avec les variables projectFolder et logFolder. Default.Java Exception..1. On peut faire exactement la même chose pour les métriques des jobs (combien de données entrées._kR0M0BvNEdWqpfVv2WXGQ.java.MONPROJET. Une autre fenêtre s'affiche quand vous cliquez sur [OK]. Les informations sur le contexte utilisé : Default et l'erreur java.47 .end.WeW17F.developpez. Cette fenêtre permet d'importer les environnements de travail.0._kR0M0BvNEdWqpfVv2WXGQ.) et leurs statistiques (heure de début.csv (Le fichier spécifié est introuvable).E2BzGt.test2. test2 (le nom du job).MONPROJET.io.Fleur-Anne.FileNotFoundException:C:\Documents and Settings\Developpez \Bureau\monFichier. les variables de contexte relatives aux logs seront ajoutés et vous pourrez alors commencer à développer vos jobs. heure de fin et temps d'exécution) .1..E2BzGt.com/tutoriels/bi/bien-debuter-projet-talend/ .2400.. Une fois terminé.0.1 On a ainsi l'endroit où le process à planté : MONPROJET (le nom du projet).WeW17F.success.WeW17F.Bien débuter un projet Talend par Jean-Sébastien DARGES . 2010-02-17 15:26:02.begin.test2.tFileInputDelimited_1.WeW17F.MONPROJET.21 - http://jsdarges.2400. Exemple de fichier des statistiques : 2010-02-17 15:26:02.Default.WeW17F.WeW17F..6.E2BzGt. Les fichiers de logs pourront ressembler à cela : 2010-02-17 15:20:08.test2.Blain Choisissez ensuite les deux variables de contexte logFolder et projectFolder du groupe server..Default. combien de données traitées. developpez. lister les variables qui seront utilisées dans le projet. .com/tutoriels/bi/bien-debuter-projet-talend/ .22 - http://jsdarges. ajouter les variables de contexte se basant sur la liste précédente. ajouter les schémas sources et cibles (metadata).Bien débuter un projet Talend par Jean-Sébastien DARGES . Maintenant que vous avez bien retenu ces étapes. à vos PC et bon développement. voici les sept étapes essentielles : 1 2 3 4 5 6 7 choisir des postes de travail performants pour une meilleure souplesse de développement. ajouter les connexions aux bases de données.Blain VIII . ne pas oublier les logs.Fleur-Anne. choisir un serveur encore plus performant que les poste de travail.Conclusion Pour bien commencer à développer un projet sous Talend. 23 - http://jsdarges.Remerciements Je remercie jacques_jean pour ses remarques et sa relecture.com/tutoriels/bi/bien-debuter-projet-talend/ .Blain IX .Fleur-Anne. .developpez.Bien débuter un projet Talend par Jean-Sébastien DARGES .
Copyright © 2024 DOKUMEN.SITE Inc.