Sunteți pe pagina 1din 57

Simplifions les projets dcisionnels

TALEND Tutorial
version 1.0 du 07/10/2008

Tutorial-Talend V1.0.doc

1 / 57

TALEND Tutorial

Table des matires


1 PREAMBULE .................................................................................................................................... 3 1.1 CONTENU DE CE DOCUMENT .......................................................................................................... 3 1.2 SUIVI DES REVISIONS DU DOCUMENT .............................................................................................. 3 1.3 PRE-REQUIS ................................................................................................................................. 3 CREATION DUN PROJET TUTORIAL.............................................................................................. 5 CONFIGURATION DE METADATAS ................................................................................................ 7
3.1.1 3.1.2 3.1.3 3.1.4 Configuration de la DataSource LABD_OLTP ..........................................................................7 Configuration de la DataSource CONSOLIDATION_OLTP ...................................................... 12 Configuration dun fichier Delimited ..................................................................................... 13 Configuration dun fichier Positional .................................................................................... 17

2 3

4 5

CREATION DUN JOB SIMPLE........................................................................................................22 EXTRACTION DUNE TABLE VERS UN FICHIER ........................................................................... 28 5.1 DESCRIPTION ............................................................................................................................. 28 5.2 EXTRACTION DES DONNEES ......................................................................................................... 28
5.2.1 5.2.2 Fichier avec sparateur .........................................................................................................28 Fichier de champs de longueur fixe ....................................................................................... 33

6 ALIMENTATION DUNE TABLE SQL SERVER AVEC LE CONTENU DUN OU PLUSIEURS FICHIERS ............................................................................................................................................... 36 6.1 DESCRIPTION ............................................................................................................................. 36 6.2 ALIMENTATION DUNE TABLE A PARTIR DUN FICHIER ..................................................................... 36 6.3 ALIMENTATION DUNE TABLE A PARTIR DE PLUSIEURS FICHIERS ...................................................... 39 6.4 GESTION DES REJETS................................................................................................................... 42 7 8 COMPOSANTS TALEND ................................................................................................................ 46 COMPOSANTS JAVA ..................................................................................................................... 50 8.1 DESCRIPTION ............................................................................................................................. 50 8.2 CREATION DUNE ROUTINE .......................................................................................................... 50 ANNEXES ........................................................................................................................................57 9.1 RESSOURCES DU TUTORIAL ..........................................................................................................57
9.1.1 Base de donnes .................................................................................................................... 57

Tutorial-Talend V1.0.doc

2 / 57

TALEND Tutorial

1
1.1

Prambule
Contenu de ce document

Ce document permet travers dexemples de prendre connaissance de quelques fonctionnalits de loutil Talend. Les points majeurs abords sont : Cration dun projet, Cration de Metadata : o Base de donnes, o Fichier avec sparateur, o Fichier de champs de longueur fixe. Extraction des donnes dune table vers un fichier (avec sparateur ou de champs de longueur fixe), Alimentation dune table avec un fichier (avec sparateur ou de champs de longueur fixe), Alimentation dune table avec plusieurs fichiers (jointure), Transformation de donnes, Filtres et Rejets, Cration dune routine.

1.2

Suivi des rvisions du document


Date 07/10/08 Modifications Cration du document Auteur C. HOUPE

Version 1.0

1.3

Pr-requis

Les pr-requis pour ce tutorial sont : Installation de SQL Server 2005 Express (http://www.labdecisionnel.com/Tutoriels-/Labos/Prerequis-Laboratoires/Installation-de-SQL-Server-2005-Express.html) Intgration de la base de donnes OLTP du Laboratoire (http://www.labdecisionnel.com/Tutoriels-/-Labos/Prerequis-Laboratoires/Creation-etrestauration-de-la-base-OLTP-sous-SQL-Server.html)

Tutorial-Talend V1.0.doc

3 / 57

TALEND Tutorial

Cration sous SQL Server dune base de test CONSOLIDATION_OLTP avec les tables Clients et Commandes dont les scripts de cration sont fournis en annexe ( 9.1.1.1 et 9.1.1.2) Installation de Talend (http://www.labdecisionnel.com/Tutoriels-/-Labos/LaboratoireTalend/Installation-Talend-Open-Studio.html )

Tutorial-Talend V1.0.doc

4 / 57

TALEND Tutorial

Cration dun projet Tutorial

Un nouveau projet doit tre cr afin dintgrer les diffrents exemples que nous allons voqus. Pour ce faire, excuter Talend via lexcutable TalendOpenStudio-win32-x86.exe. La fentre de connexion apparat.

Figure 1 : Ecran de connexion

Slectionner licne Create afin que la page de dialogue apparaisse et saisir, minima, les champs : Project Name la valeur TutorialTalendPartie2 Generation Language la valeur Java.

Tutorial-Talend V1.0.doc

5 / 57

TALEND Tutorial

Figure 2 : Ecran de cration de projet

Slectionner ce projet afin douvrir Talend

Figure 3 : Ecran d'accueil

Tutorial-Talend V1.0.doc

6 / 57

TALEND Tutorial

Configuration de MetaDatas

Afin daccder des sources extrieures, il est possible de dfinir des Metadata afin de dfinir, une et une seule fois lors du projet, les informations spcifiques aux sources. Ces informations sont dpendantes de la nature de la source.

Figure 4 : Metadata

3.1.1

Configuration de la DataSource LABD_OLTP

Slectionner Db connection dans le groupe Metadata puis effectuer un click droit afin de choisir loption Create Connection .

Figure 5 : Cration de Metadata Datasource - Slection de cration d'une DataSource

Le processus de cration dune datasource se dcompose comme suit : Etape 1 : Saisie du nom, du sujet, de la description ainsi que le statut, Etape 2 : Saisie du driver et des informations de connexion.
7 / 57

Tutorial-Talend V1.0.doc

TALEND Tutorial

Figure 6 : Cration de Metadata Datasource - Cration d'une datasource - Etape 1

Tutorial-Talend V1.0.doc

8 / 57

TALEND Tutorial

Figure 7 : Cration de Metadata Datasource - Cration d'une datasource - Etape 2

Suite cette cration, les tables que nous devons utilises doivent tre indiques. Pour ce faire, les tapes suivre sont : Etape 1 : Bouton droit sur la connexion puis slectionner Retrieve Schema , Etape 2 : Indiquer si besoin un filtre sur les tables souhaites, Etape 3 : Slectionnes les tables souhaites, Etape 4 : Valider le format des tables rcupres.

Tutorial-Talend V1.0.doc

9 / 57

TALEND Tutorial

Figure 8 : Cration de Metadata Datasource - Retrieve Schema - Etape 1

Figure 9 : Cration de Metadata Datasource - Retrieve Schema - Etape 2

Tutorial-Talend V1.0.doc

10 / 57

TALEND Tutorial

Figure 10 : Cration de Metadata Datasource - Retrieve Schema - Etape 3

Tutorial-Talend V1.0.doc

11 / 57

TALEND Tutorial

Figure 11 : Cration de Metadata Datasource - Retrieve Schema - Etape 4

3.1.2

Configuration de la DataSource CONSOLIDATION_OLTP

Ritrer les tapes prcdentes afin de rendre disponible les tables Clients et Commandes sur la datasource CONSOLIDATION_OLTP.

Figure 12 : Cration de Metadata - Datasource CONSOLIDATION_OLTP

Tutorial-Talend V1.0.doc

12 / 57

TALEND Tutorial

3.1.3

Configuration dun fichier Delimited

Slectionner File Delimited dans le groupe Metadata puis effectuer un click droit afin de choisir loption Create File Delimited .

Figure 13 : Cration de Metadata File Delimited - Slection de cration d'un fichier Delimited

Le processus de cration dun fichier delimited en metadata se dcompose comme suit : Etape 1 : Saisie du nom, du sujet, de la description ainsi que le statut,

Tutorial-Talend V1.0.doc

13 / 57

TALEND Tutorial

Figure 14 : Cration de Metadata File Delimited - Cration d'une source Fichier Delimited - Etape 1

Etape 2 : Saisie du chemin du fichier et du format (Unix ou Windows),

Tutorial-Talend V1.0.doc

14 / 57

TALEND Tutorial

Figure 15 : Cration de Metadata File Delimited - Cration d'une source Fichier Delimited - Etape 2

Etape 3 : Paramtrage de la structure du fichier. Il est possible de choisir le sparateur de champs, de ligne, dindiquer si le fichier contient une ligne dheader, de limiter le nombre denregistrements prendre en compte ou, encore, de prciser si des lignes doivent tre ignores,

Tutorial-Talend V1.0.doc

15 / 57

TALEND Tutorial

Figure 16 : Cration de Metadata File Delimited - Cration d'une source Fichier Delimited - Etape 3

Etape 4 : Dfinir la structure du fichier afin dindiquer des alias pour les colonnes si le fichier ne contient pas dheader.

Tutorial-Talend V1.0.doc

16 / 57

TALEND Tutorial

Figure 17 : Cration de Metadata File Delimited - Cration d'une source Fichier Delimited - Etape 4

Note : Il nest pas possible de dfinir DateMAJ comme une date car le format peut tre le format TimeZone US. Talend pouvant tre en TimeZone FR, sans une routine, il nest pas possible de convertir la date avec le pattern "EEE MMM dd HH:mm:ss zzz yyyy". En effet, il est ncessaire de spcifier le TimeZone utiliser pour la conversion. Cette transformation sera effectue plus tard dans ce document (cf. 6.3).

3.1.4

Configuration dun fichier Positional

Slectionner File Positional dans le groupe Metadata puis effectuer un click droit afin de choisir loption Create File Positional .

Tutorial-Talend V1.0.doc

17 / 57

TALEND Tutorial

Figure 18 : Cration de Metadata Positional - Slection de cration d'un fichier Positional

Le processus de cration dun fichier positional en metadata se dcompose comme suit : Etape 1 : Saisie du nom, du sujet, de la description ainsi que le statut,

Figure 19 : Cration de Metadata File Positional - Cration d'une source Fichier Positional - Etape 1

Etape 2 : Saisie du chemin du fichier et du format (Unix ou Windows) ainsi que la longeur de chaque champ (soit par saisie dans Field Separator soit par pointage souris),

Tutorial-Talend V1.0.doc

18 / 57

TALEND Tutorial

Figure 20 : : Cration de Metadata File Positional - Cration d'une source Fichier Positional - Etape 2

Etape 3 : Paramtrage de la structure du fichier. Il est possible de choisir le sparateur de champs, de ligne, dindiquer si le fichier contient une ligne dheader, de limiter le nombre denregistrements prendre en compte ou, encore, de prciser si des lignes doivent tre ignores,

Tutorial-Talend V1.0.doc

19 / 57

TALEND Tutorial

Figure 21 : Cration de Metadata File Positional - Cration d'une source Fichier Positional - Etape 3

Etape 4 : Dfinir la structure du fichier afin dindiquer des alias pour les colonnes.

Tutorial-Talend V1.0.doc

20 / 57

TALEND Tutorial

Figure 22 : Cration de Metadata File Positional - Cration d'une source Fichier Positional - Etape 4

Figure 23 : Figure 22 : Cration de Metadata File Positional - Cration d'une source Fichier Positional - Etape 4 Dtail des colonnes

Tutorial-Talend V1.0.doc

21 / 57

TALEND Tutorial

Cration dun job simple

Crons prsent un Job affichant un message Hello World . Pour ce faire, click droit sur le groupe Job Designs afin de crer un folder Job_simple

Figure 24 : Cration d'un folder de Job Step 1

Figure 25 : Cration d'un folder de Job Step 2

Note : Le nom dun folder ne doit pas comporter de caractres accentus ni despace. La cration dun job est possible partir du menu contextuel du groupe Job Designs ou un de ses folders.

Figure 26 : Cration d'un job - Step 1

Tutorial-Talend V1.0.doc

22 / 57

TALEND Tutorial

Au minima, le nom du job doit tre saisi.

Figure 27 : Cration d'un job - Step 2

Slectionner dans la palette le composant tMsgBox du groupe Misc puis cliquer sur la partie Designer du Job.

Figure 28 : Composant tMsgBox

Tutorial-Talend V1.0.doc

23 / 57

TALEND Tutorial

Figure 29 : Ajout d'un composant un job

Info : Il est possible de visualiser le code source gnr via longlet Code.

Longlet Component du composant permet de saisir les informations spcifiques au composant.

Tutorial-Talend V1.0.doc

24 / 57

TALEND Tutorial

Figure 30 : Onglet Component

De manire gnrale, La section Basic Settings permet dindiquer les informations ncessaires lutilisation du composant, La section View permet dindiquer un nom explicite travers le champ Label format . La section Documentation permet dajouter un commentaire pour lutilit du composant.

Figure 31 : Section Basic Settings d'un composant tMsgBox

Tutorial-Talend V1.0.doc

25 / 57

TALEND Tutorial

Figure 32 : Section View d'un composant tMsgBox

Lexcution dun job se fait via une icne spcifique de la barre de menu ou sur longlet Run sous le schma.

Figure 33 : Excution d'un Job

Tutorial-Talend V1.0.doc

26 / 57

TALEND Tutorial

Figure 34 : Excution du Job Hello World

Lors dune excution de job, il est possible de connatre le temps dexcution en cochant avant le lancement la case Exec time .

Figure 35 : Temps d'excution d'un job

Tutorial-Talend V1.0.doc

27 / 57

TALEND Tutorial

5
5.1

Extraction dune table vers un fichier


Description

Nous allons tudier dans ce paragraphe lexport des donnes dune table SQL Server vers un fichier avec sparateur et de champs de longueur fixe. Ces fichiers seront ensuite utiliss dans les paragraphes suivants. Ce paragraphe ncessite que le paramtrage de la datasource LAB_OLTP soit ralis (cf 3.1.1)

5.2
5.2.1

Extraction des donnes


Fichier avec sparateur

Les tapes suivre pour exporter des donnes dune table dans un fichier avec sparateur sont : Crer un job DBData2FileDelimited dans un folder Database_Export , Ajouter un composant tMSSQLConnecttion au job, Dans la section Basic Settings de longlet Component o Slectionner Repository dans la liste de Property Type afin de dfinir que la connexion est dfinie comme Metadata o Slectionner la connexion LABD_OLTP comme Repository, o Les autres informations nont pas tre modifies tant donn que leurs valeurs ont t rcupres de la datasource.

Figure 36 : Extraction de donnes - Fichier avec sparateur - Composant tMSSqlConnection

Dans le groupe Metadata du repository, faire glisser la table Client vers le designer du job. Un composant tMSSqlInput est cr automatiquement avec les informations ncessaires son utilisation. Il faut cependant indiquer que le composant utilise une connexion existante (en cochant la case Use an existing connection ) et indiquer la connexion concerne, (il est possible de modifier le nom du composant afin que le schma soit plus comprhensible)

Tutorial-Talend V1.0.doc

28 / 57

TALEND Tutorial

Figure 37 : Extraction de donnes - Fichier avec sparateur - Composant tMSSqlInput

Faire un click droit sur le composant de connexion et slectionner Trigger / On Component OK afin de crer une liaison qui doit aboutir sur le composant tMSSqlInput

Figure 38 : Extraction de donnes - Fichier avec sparateur - Liaison de connexion

Figure 39 : Extraction de donnes - Fichier avec sparateur - Liaison de connexion (suite)

Ajouter dans le job le composant File / Output / tFileOutputDelimited et le renommer en Fichier_CSV_Clients

Tutorial-Talend V1.0.doc

29 / 57

TALEND Tutorial

Figure 40: Extraction de donnes - Fichier avec sparateur - Composant tFileOutputDelimited

La section Basic Settings de longlet Component permet dindiquer les informations relative au fichier destination (chemin, sparateur de ligne, sparateur de champ)

Figure 41 : Extraction de donnes - Fichier avec sparateur - Composant tFileOutputDelimited - Basic Settings

En slectionnant le bouton associ Edit Schema , nous obtenons fentre permettant la saisie des colonnes composant le fichier

Figure 42 : Extraction de donnes - Fichier avec sparateur - Composant tFileOutputDelimited - Schema

Tutorial-Talend V1.0.doc

30 / 57

TALEND Tutorial

Il est cependant possible dautomatiser la composition du fichier si lexport concerne toutes les colonnes de la table source. Pour ce faire, dans la section Basic settings , slectionner en schema puis la metadata correspondant la table Client

Figure 43 : Extraction de donnes - Fichier avec sparateur - Composant tFileOutputDelimited - Schema (mode automatique)

En slectionnant le bouton associ Edit Schema , la fentre comporte lensemble des colonnes de la table Client,

Figure 44 : Extraction de donnes - Fichier avec sparateur - Composant tFileOutputDelimited - Schema (mode automatique suite)

Faire un click droit sur le composant MSSqlInput, puis sans relcher le bouton, relier ce composant au tFileOuputDelimited, Ajouter le composant Databases/MS SQL Server/tMSSqlRollback et vrifier dans les Basic settings que la connexion sera ferme, Faire un click droit sur le composant tFileOuputDelimited et slectionner Trigger / On Component OK afin de crer une liaison qui doit aboutir sur le composant tMSSqlRollback.

Tutorial-Talend V1.0.doc

31 / 57

TALEND Tutorial

Le job est prsent termin :

Figure 45 : Extraction de donnes - Fichier avec sparateur - Schma du job

Excuter le job afin de vrifier son bon fonctionnement.

Figure 46 : Extraction de donnes - Fichier avec sparateur - Excution du job

Le fichier a t alors correctement gnr.

Figure 47 : Extraction de donnes - Fichier avec sparateur Fichier gnr

Note : Si la liaison entre le composant de sortie et le rollback est un Main, le job ne sera pas oprationnel. En effet, une liaison Main est applique chaque itration du traitement. De ce fait,

Tutorial-Talend V1.0.doc

32 / 57

TALEND Tutorial

la premire itration va ouvrir une connexion, exporter la premire ligne, clore la connexion puis vouloir exporter la deuxime ligne. La connexion tant ferme, un exception sera leve.

Figure 48 : Extraction de donnes - Fichier avec sparateur Job en erreur

Figure 49 : Extraction de donnes - Fichier avec sparateur Job en erreur (suite)

5.2.2

Fichier de champs de longueur fixe

Afin dexporter des donnes dune table dans un fichier avec des champs de longueur fixe, il faut ritrer le processus prcdent en remplaant le composant tFileOutputDelimited par un composant tFileOutputPositional.

Tutorial-Talend V1.0.doc

33 / 57

TALEND Tutorial

Exportons les donnes commandes vers un fichier txt. De manire identique au tFileOutputDelimited, la slection dun schema permet dautomatiser la saisie de la composition du fichier destination.

Figure 50 : Extraction de donnes - Fichier avec des champs de longueur fixe - Composant tFileOoutputPositional

Dans notre exemple, il faut cependant modifier la taille des champs DateCommande, DateLivraisonPrevue et DateExpedition 30 et EstCommandeEnLigne 5. Le job est prsent termin :

Figure 51 : Extraction de donnes - Fichier avec sparateur - Schma du job

Excuter le job afin de vrifier son bon fonctionnement.

Tutorial-Talend V1.0.doc

34 / 57

TALEND Tutorial

Figure 52 : Extraction de donnes - Fichier avec sparateur - Excution du job

Le fichier a t alors correctement gnr.

Figure 53 : Extraction de donnes - Fichier avec sparateur Fichier gnr

Tutorial-Talend V1.0.doc

35 / 57

TALEND Tutorial

Alimentation dune table SQL Server avec le contenu dun ou plusieurs fichiers
Description

6.1

A partir des fichiers gnrs dans les paragraphes Fichier avec sparateur et Fichier de champs de longueur fixe, nous allons alimenter des tables. Ce paragraphe ncessite que le paramtrage des fichiers sources a t ralis (cf 3.1.3 et 3.1.4) ainsi que celui du datasource CONSOLIDATION_OLTP (cf 3.1.2)

6.2 Alimentation dune table partir dun fichier


Lalimentation dune table partir dun fichier se dcompose comme suit : Cration dun folder de Job nomm Database_Import , Cration dun job nomm OneFile2DBData , Ajouter au job une connection SQL Server vers la datasource CONSOLIDATION_OLTP, Ajouter au job le File Delimited Client, Relier ces deux composants par un lien OnComponentOK, Ajouter un composant tMSSqlOuput pour quelle utilise la connexion prcdemment dclare, Slectionner pour Schema la valeur Repository puis la table Clients, Slectionner pour Action on table la valeur Clear Table , Slectionner pour Action on data la valeur Insert

Figure 54 : Alimentation d'une table partir d'un fichier - Composant tMSSqlOuput

Afin de dfinir le mapping entre les donnes du fichier source et la table cible, il faut ajouter le composant Processing / tMap Relier le File Delimited Client ce tMap et relier ce tMap au tMSSqlOuput, Slectionner dans longlet Component du tMap le bouton associ au Map Editor

Tutorial-Talend V1.0.doc

36 / 57

TALEND Tutorial

Figure 55 : Alimentation d'une table partir d'un fichier - Composant tMap

Une fentre permet de glisser-dposer de mapper les donnes du fichier source et celle de la table cible. En slectionnant Auto map ! de la partie droite, un mapping automatique est effectu par homonymie en non case-sensitive

Figure 56 : Alimentation d'une table partir d'un fichier - Mapping

Supprimer dans un premier temps le mapping sur DateMAJ, Le champ DateMAJ ne devant pas tre null, se placer dans la premire colonne du output et slectionner le bouton afin dafficher lExpression Builder qui permet dapporter une aide sur les expressions, Choisir comme Category la valeur Talend Date puis dans Functions la valeur getCurrentDate , lexpression est automatiquement mise jour TalendDate.getCurrentDate()

Tutorial-Talend V1.0.doc

37 / 57

TALEND Tutorial

Figure 57 : Alimentation d'une table partir d'un fichier - Mapping (suite)

Insrer un composant tMSSqlCommit et relier le composant tMSSqlOuput prcdent ce composant par un lien onComponentOk .

Le schma du job ainsi gnr est :

Figure 58 : Alimentation d'une table partir d'un fichier - Schma du Job

Lexcution du Job en cochant la case Statistics aboutit au rsultat suivant :

Figure 59 : Alimentation d'une table partir d'un fichier - Excution du Job

Tutorial-Talend V1.0.doc

38 / 57

TALEND Tutorial

Et la table Clients comprend les 190 000 lignes.

Figure 60 : Alimentation d'une table partir d'un fichier - Visualisation des lignes Clients

6.3 Alimentation dune table partir de plusieurs fichiers


Nous allons dans cet exemple utiliser deux fichiers sources afin dalimenter une table. Pour ce faire, les tapes suivre sont : Crer un nouveau job ManyFiles2DB , Ajouter un Composant tMSSqlConnection, Faire glisser le fichier positional sur le designer du Job, Relier les deux composants prcdents via Trigger / On Component OK, Faire glisser le fichier delimited sur le designer du Job, Ajouter un composant tMap, Relier le fichier positional au tMap par un click droit puis glisser le lien en restant appuy, Ajouter un composant tMSSqlOutput afin quil pointe vers la table Commandes

Figure 61 : Alimentation d'une table partir de plusieurs fichiers - Basic Settings du tMSSqlOutput

Relier les deux composants tMSSqlOutput et tMap, Rpondre Yes la question Do you want to get the schema of the target component , afin que le systme mette jour les champs en sortie du tMap,

Tutorial-Talend V1.0.doc

39 / 57

TALEND Tutorial

Figure 62 : Alimentation d'une table partir de plusieurs fichiers - Mise jour des champs en sortie du tMap

Dans Basic Settings, slectionner Map Editor du tMap, Par glisser/dposer dans les entres, relier les champs ClientID afin de crer une jointure, Par glisser/dposer, mapper les champs du row2 vers le output

Figure 63 : Alimentation d'une table partir de plusieurs fichiers - Mapping

Le champ DateCommande est incorrect car il nest pas possible de convertir la chane de caractre en date. Lexpression utiliser est : TalendDate.parseDateLocale("EEE row1.DateCommande,"EN") MMM dd HH:mm:ss zzz yyyy",

Tutorial-Talend V1.0.doc

40 / 57

TALEND Tutorial

Figure 64 : Alimentation d'une table partir de plusieurs fichiers - Mapping (suite)

Ajouter un composant tMSSqlCommit et le relier au tMSSqlOuput via un lien onComponentOK.

Le schma du job ralis est le suivant :

Figure 65 : d'une table partir de plusieurs fichiers - Schma du Job

Le Job est excut correctement.

Tutorial-Talend V1.0.doc

41 / 57

TALEND Tutorial

Figure 66 : Alimentation d'une table partir de plusieurs fichiers - Excution du Job

6.4 Gestion des rejets


Lors de lutilisation de filtres, il est parfois ncessaire de rcolter les donnes ne respectant pas les critres. De telles donnes sont appeles rejets. Afin de raliser une table de rejet, les tapes suivre sont : Crer un folder de job nomm Database_Uses , Crer un job nomm Rejects , Ajouter un composant tMSSqlConnection rfrenant la base LABD_OLTP, Ajouter un composant tMSSqlInput pointant sur la table Commande, Ajouter un composant tFileOuputDelimited destin accueillir les commandes valides (les colonnes du fichier sont CommandeId et Etat),

Tutorial-Talend V1.0.doc

42 / 57

TALEND Tutorial

Figure 67 : Gestion des rejets - Composition Fichier Output

De mme, ajouter un composant tFileOuputDelimited destin accueillir les commandes valides (les colonnes du fichier sont CommandeId et Etat), Ajouter un composant tMap, Relier les deux composants tFileOuputDelimited prcdent au tMap, Ouvrir le Map Editor du tMap, Relier le champ CommandeID en entre avec celui des fichiers de sortie, Relier le champ Etat en entre avec celui des fichiers de sortie, Pour la sortie Valide, slectionner licne dactivation de filtres

Figure 68 : Gestion des rejets - Activation des filtres

Saisir un filtre sous la syntaxe Java,

Tutorial-Talend V1.0.doc

43 / 57

TALEND Tutorial

Figure 69 : Gestion des rejets - Saisie d'un filtre

Pour la sortie de rejet, slectionner licne dactivation des rejets

Figure 70 : Gestion des rejets - Activation des rejets

Figure 71 : Gestion des rejets - Mapping

Tutorial-Talend V1.0.doc

44 / 57

TALEND Tutorial

Ajouter un composant tMSSqlRollback.

Le schma du job est le suivant :

Figure 72 : Gestion des rejets - Schma du Job

Lexcution du Job permet de constater la rpartition des commandes en fonction de leur tat

Figure 73 : Gestion des rejets - Excution du Job

Tutorial-Talend V1.0.doc

45 / 57

TALEND Tutorial

Composants Talend

La liste suivante, non-exhaustive, dcrit des composants de Talend. Celle-ci sera revue rgulirement. Palette tMsgBox Composant Misc Description Affiche une alerte Windows. Les boutons accessibles peuvent tre choisis parmi une liste prdfinie Gnre des jeux de donnes de test en dfinissant un schma et les patterns pour les donnes de test Permet de dfinir des actions rpter pour tous les enregistrements dune source Permet de lister les fichiers dun rpertoire Pour accder au nom du fichier : globalMap.get("$idtFor$_CURRENT_I TERATION") o idtFor correspond lidentifiant du tFileList qui correspond la valeur entre parenthse aprs son nom Paragraphe 4

tRowGenerator

Misc

tFlowToIterate

Misc

tFor

Misc

tLogRow

Logs & Errors

Permet dafficher les donnes sur la console Attention : Ce composant est trs lent Permet le calcul de performance Peut tre utilis au niveau du composant par longlet Job Settings /Stats & Logs Permet de lister les fichiers dun rpertoire Pour accder au nom du fichier : ((String)globalMap.get("$idFileList$_ CURRENT_FILE")) o idFileList correspond lidentifiant du tFileList

8.2

tStatCatcher

Logs & error

tFileList

File

Tutorial-Talend V1.0.doc

46 / 57

TALEND Tutorial

tFileInputDelimited

File / Input

tFileInputPositional

File / Input

tFileOutputDelimited

File / Output

tFileOutputPositional

File / Output

tMysqlInput tMysqlOutput tMysqlConnection tMysqlCommit

Databases/MySQL Databases/MySQL Databases/MySQL Databases/MySQL

tMysqlRollback

Databases/MySQL

tMysqlBulkExec tMSSqlInput

Databases/MySQL Databases/MS SQL Server Databases/MS SQL Server Databases/MS SQL Server Databases/MS SQL Server Databases/MS SQL Server Databases/MS SQL Server

tMSSqlOutput

tMSSqlConnection tMSSqlCommit

tMSSqlRollback

tMSSqlBulkExec

qui correspond la valeur entre parenthse aprs son nom Dfinit un fichier en entre dont les champs sont spars par un sparateur Dfinit un fichier en entre dont une longueur fixe est associe chaque champ Dfinit un fichier en sortie dont les champs sont spars par un sparateur Dfinit un fichier en sortie dont une longueur fixe est associe chaque champ Est link avec une table MySql afin de fournir des donnes en entre Est link avec une table MySql afin de pouvoir recevoir des donnes Ouvre une connexion une base MySql Effectue un commit sur une connexion MySql et permet galement de la clore Effectue un rollback sur une connexion MySql et permet galement de la clore Permet le chargement de masse sous MySql Est link avec une table MS SQL Server afin de fournir des donnes en entre Est link avec une table MS SQL Server afin de pouvoir recevoir des donnes Ouvre une connexion une base MS SQL Server Effectue un commit sur une connexion MS SQL Server et permet galement de la clore Effectue un rollback sur une connexion MS SQL Server et permet galement de la clore Permet le chargement de masse sous MS SQL Server

5.2.2

5.2.1

5.2.1

6.2

5.2.1 6.2

5.2.1

Tutorial-Talend V1.0.doc

47 / 57

TALEND Tutorial

tELTMysqlMap tELTMysqlInput

ELT/MySQL ELT/MySQL

tELTMysqlOutput

ELT/MySQL

tMap

Processing

Permet deffectuer un mapping pour la gnration de flux Permet de dfinir une entre (structure libre ou table) pour effectuer un mapping Permet de dfinir une sortie (structure libre ou table) pour effectuer un mapping Permet de raliser entre autre : Jointure (interne/externe), Transformation des donnes, Concatnation et inversion de champs, Filtrage, Gestion des rejets, qualit de donnes.

6.2

tJoin tFilterJoin tUnite tSortRow tExternalSortRow

Processing Processing Processing Processing Processing

tAggregateRow

Processing

tNormalize

Processing

tDenormalize

Processing

tJava tJavaRow

Processing Processing

tRunJob

System

Ralise des jointures Permet de limiter les colonnes en sortie du composant Permet de fusionner les donnes de deux structures diffrentes Permet de trier les donnes suivant une ou plusieurs colonnes. Permet de faire appel un programme externe pour raliser un tri (perfs accrues mais job non portable) Permet de faire des aggrgats avec les fonctions : count, min, max, avg, sum, first, last, liste, count(distinct) Permet pour un champ contenant des tokens de crer une ligne pour chaque token Permet de regrouper des donnes en fonction dune colonne commune et indique les donnes de la colonne regroupe sous forme de token Permet dexcuter des mthodes Java Permet dexcuter des mthodes Java sur lensemble des lignes dun flux de donnes Permet de lancer des jobs

Tutorial-Talend V1.0.doc

48 / 57

TALEND Tutorial

tSystem tSSH tSetEnv tUniqRow

System System System Data Quality

tPop

Internet

Permet de lancer une ligne de comamnde Permet de lancer une succession de commande sous une connexion ssh Permet de dfinir une variable denvironnement Permet de dterminer les doublons en fonction dune colonne de donnes en entre. En sortie, il est possible soit davoir les donnes uniques soit davoir les donnes dont la colonne tudie a dj t rencontre. Permet de recevoir des mails en pop

Tutorial-Talend V1.0.doc

49 / 57

TALEND Tutorial

8
8.1

Composants Java
Description

Il est possible sous Talend de crer des mthodes Java, nommes Routines , pouvant tre utilises dans les composants ainsi que de dfinir ses propres composants.

8.2 Cration dune routine


La cration dune Routine est accessible dans la section Routines de la partie Code du repository.

Crons une routine simple prenant en paramtre une valeur laquelle sera prfixe Hello . Les tapes suivre sont : Cration dun folder UserRoutines dans la section Routines Cration dune routine ConcatenateHello

Tutorial-Talend V1.0.doc

50 / 57

TALEND Tutorial

Figure 74 : Cration de routine - Cration

Tutorial-Talend V1.0.doc

51 / 57

TALEND Tutorial

Figure 75 : Cration de routine - Code Par dfaut d'une routine

Modifier la classe gnre par dfaut par code prfixant le message par Hello et retournant la valeur ainsi obtenue,

Tutorial-Talend V1.0.doc

52 / 57

TALEND Tutorial

Figure 76 : Cration de routine - Mthode prefixeHello

Cration dun folder Java_Component au niveau des Jobs, Cration dun job RoutineHello, Ajout dun fichier en entre, Ajout dun composant tLogRow avec une unique colonne Message, Ajout dun tMap devant tre reli aux deux composants prcdents, Mapping dans le Map Editor de la valeur de sortie Message par lexpression ConcatenateHello.prefixeHello(row1.Prenom) (la categorie *User Defined permet datteindre aisment la routine dfinie)

Tutorial-Talend V1.0.doc

53 / 57

TALEND Tutorial

Figure 77 : Cration de routine - Expression Builder

Tutorial-Talend V1.0.doc

54 / 57

TALEND Tutorial

Figure 78 : Cration de routine - Mapping

Le schma du Job ainsi gnr est :

Figure 79 : Cration de routine - Job gnr

Lexcution du Job confirme que lutilisation de la routine est possible.

Tutorial-Talend V1.0.doc

55 / 57

TALEND Tutorial

Figure 80 : Cration de routine - Excution du job

Tutorial-Talend V1.0.doc

56 / 57

TALEND Tutorial

9
9.1

Annexes
Ressources du tutorial

9.1.1 Base de donnes 9.1.1.1 Script de cration de CONSOLIDATION_OLTP.Clients


USE [CONSOLIDATION_OLTP] GO /****** Objet : Table [dbo].[Clients] ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Clients]( [ClientID] [int] NULL, [Nom] [varchar](50) NOT NULL, [prenom] [varchar](50) NOT NULL, [Email] [varchar](50) NULL, [DateMaj] [datetime] NOT NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF

9.1.1.2

Script de cration de CONSOLIDATION_OLTP.Commandes


USE [CONSOLIDATION_OLTP] GO /****** Objet : Table [dbo].[Commandes] ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Commandes]( [CommandeID] [int] NOT NULL, [NumeroCommande] [char](18) NOT NULL, [DateCommande] [datetime] NOT NULL, [TotalOrdre] [money] NOT NULL, [TotalHorsLivraison] [money] NOT NULL, [FraisLivraison] [money] NOT NULL, [ClientNom] [varchar](50) NOT NULL, [ClientPrenom] [varchar](50) NOT NULL, [ClientEmail] [varchar](50) NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF

Tutorial-Talend V1.0.doc

57 / 57