Vous êtes sur la page 1sur 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

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

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

Tutorial-Talend V1.0.doc

Base de donnes .................................................................................................................... 57

2 / 57

TALEND
Tutorial

Prambule

1.1

Contenu de ce document

Ce document permet travers dexemples de prendre connaissance de quelques fonctionnalits


de loutil Talend.
Les points majeurs abords sont :

1.2

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.

Suivi des rvisions du document

Version
1.0

1.3

Date
07/10/08

Modifications
Cration du document

Auteur
C. HOUPE

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.

Tutorial-Talend V1.0.doc

7 / 57

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

Extraction dune table vers un fichier

5.1

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

Extraction des donnes

5.2.1

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

6.1

Description

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")

Tutorial-Talend V1.0.doc

MMM

dd

HH:mm:ss

zzz

yyyy",

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

tRowGenerator

Misc

tFlowToIterate

Misc

tFor

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

Paragraphe
4

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

tLogRow

tStatCatcher

tFileList

Logs & Errors

Logs & error

File

Permet dafficher les donnes sur la


console

8.2

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

Tutorial-Talend V1.0.doc

46 / 57

TALEND
Tutorial

tFileInputDelimited

File / Input

tFileInputPositional

File / Input

tFileOutputDelimited

File / Output

tFileOutputPositional

File / Output

tMysqlInput

Databases/MySQL

tMysqlOutput

Databases/MySQL

tMysqlConnection

Databases/MySQL

tMysqlCommit

Databases/MySQL

tMysqlRollback

Databases/MySQL

tMysqlBulkExec

Databases/MySQL

tMSSqlInput

Databases/MS SQL
Server

tMSSqlOutput

Databases/MS SQL
Server

tMSSqlConnection

Databases/MS SQL
Server
Databases/MS SQL
Server

tMSSqlCommit

tMSSqlRollback

Databases/MS SQL
Server

tMSSqlBulkExec

Databases/MS SQL
Server

Tutorial-Talend V1.0.doc

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

47 / 57

TALEND
Tutorial

tELTMysqlMap

ELT/MySQL

tELTMysqlInput

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 :

tJoin
tFilterJoin

Processing
Processing

tUnite

Processing

tSortRow

Processing

tExternalSortRow

Processing

tAggregateRow

Processing

tNormalize

Processing

tDenormalize

Processing

tJava
tJavaRow

Processing
Processing

tRunJob

System

Tutorial-Talend V1.0.doc

6.2

Jointure (interne/externe),
Transformation des donnes,
Concatnation et inversion de
champs,
Filtrage,
Gestion des rejets,
qualit de donnes.

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

48 / 57

TALEND
Tutorial

tSystem

System

tSSH

System

tSetEnv

System

tUniqRow

Data Quality

tPop

Internet

Tutorial-Talend V1.0.doc

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

49 / 57

TALEND
Tutorial

Composants Java

8.1

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

Annexes

9.1

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

Vous aimerez peut-être aussi