Simplifions les projets décisionnels

TALEND Tutorial
version 1.0 du 07/10/2008

Tutorial-Talend V1.0.doc

1 / 57

TALEND Tutorial

Table des matières
1 PREAMBULE .................................................................................................................................... 3 1.1 CONTENU DE CE DOCUMENT .......................................................................................................... 3 1.2 SUIVI DES REVISIONS DU DOCUMENT .............................................................................................. 3 1.3 PRE-REQUIS ................................................................................................................................. 3 CREATION D’UN 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 d’un fichier Delimited ..................................................................................... 13 Configuration d’un fichier Positional .................................................................................... 17

2 3

4 5

CREATION D’UN JOB SIMPLE........................................................................................................22 EXTRACTION D’UNE TABLE VERS UN FICHIER ........................................................................... 28 5.1 DESCRIPTION ............................................................................................................................. 28 5.2 EXTRACTION DES DONNEES ......................................................................................................... 28
5.2.1 5.2.2 Fichier avec séparateur .........................................................................................................28 Fichier de champs de longueur fixe ....................................................................................... 33

6 ALIMENTATION D’UNE TABLE SQL SERVER AVEC LE CONTENU D’UN OU PLUSIEURS FICHIERS ............................................................................................................................................... 36 6.1 DESCRIPTION ............................................................................................................................. 36 6.2 ALIMENTATION D’UNE TABLE A PARTIR D’UN FICHIER ..................................................................... 36 6.3 ALIMENTATION D’UNE 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 D’UNE ROUTINE .......................................................................................................... 50 ANNEXES ........................................................................................................................................57 9.1 RESSOURCES DU TUTORIAL ..........................................................................................................57
9.1.1 Base de données .................................................................................................................... 57

9

Tutorial-Talend V1.0.doc

2 / 57

TALEND Tutorial

1
1.1

Préambule
Contenu de ce document

Ce document permet à travers d’exemples de prendre connaissance de quelques fonctionnalités de l’outil Talend. Les points majeurs abordés sont : • • Création d’un projet, Création de Metadata : o Base de données, o Fichier avec séparateur, o Fichier de champs de longueur fixe. Extraction des données d’une table vers un fichier (avec séparateur ou de champs de longueur fixe), Alimentation d’une table avec un fichier (avec séparateur ou de champs de longueur fixe), Alimentation d’une table avec plusieurs fichiers (jointure), Transformation de données, Filtres et Rejets, Création d’une routine.

• • • • • •

1.2

Suivi des révisions du document
Date 07/10/08 Modifications Création 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) Intégration de la base de données 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

Création sous SQL Server d’une base de test CONSOLIDATION_OLTP avec les tables Clients et Commandes dont les scripts de création 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

2

Création d’un projet Tutorial

Un nouveau projet doit être créé afin d’intégrer les différents exemples que nous allons évoqués. Pour ce faire, exécuter Talend via l’exécutable TalendOpenStudio-win32-x86.exe. La fenêtre de connexion apparaît.

Figure 1 : Ecran de connexion

Sélectionner l’icône 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 création de projet Sélectionner ce projet afin d’ouvrir Talend Figure 3 : Ecran d'accueil Tutorial-Talend V1.0.doc 6 / 57 .

7 / 57 Tutorial-Talend V1. Etape 2 : Saisie du driver et des informations de connexion.doc . les informations spécifiques aux sources. du sujet.Sélection de création d'une DataSource Le processus de création d’une datasource se décompose comme suit : • • Etape 1 : Saisie du nom.1 Configuration de la DataSource LABD_OLTP Sélectionner « Db connection » dans le groupe « Metadata » puis effectuer un click droit afin de choisir l’option « Create Connection ». Figure 5 : Création de Metadata – Datasource . Figure 4 : Metadata 3.0.TALEND Tutorial 3 Configuration de MetaDatas Afin d’accéder à des sources extérieures. de la description ainsi que le statut. il est possible de définir des Metadata afin de définir.1. une et une seule fois lors du projet. Ces informations sont dépendantes de la nature de la source.

0.Etape 1 Tutorial-Talend V1.Création d'une datasource .TALEND Tutorial Figure 6 : Création de Metadata – Datasource .doc 8 / 57 .

les tables que nous devons utilisées doivent être indiquées.Etape 2 Suite à cette création. Etape 2 : Indiquer si besoin un filtre sur les tables souhaitées.Création d'une datasource . Tutorial-Talend V1. Etape 4 : Valider le format des tables récupérées.TALEND Tutorial Figure 7 : Création de Metadata – Datasource . Etape 3 : Sélectionnées les tables souhaitées.0.doc 9 / 57 . Pour ce faire. les étapes à suivre sont : • • • • Etape 1 : Bouton droit sur la connexion puis sélectionner « Retrieve Schema ».

doc 10 / 57 .Retrieve Schema .TALEND Tutorial Figure 8 : Création de Metadata – Datasource .Etape 2 Tutorial-Talend V1.Etape 1 Figure 9 : Création de Metadata – Datasource .0.Retrieve Schema .

0.doc 11 / 57 .Etape 3 Tutorial-Talend V1.TALEND Tutorial Figure 10 : Création de Metadata – Datasource .Retrieve Schema .

1.0.Etape 4 3.doc 12 / 57 .2 Configuration de la DataSource CONSOLIDATION_OLTP Réitérer les étapes précédentes afin de rendre disponible les tables Clients et Commandes sur la datasource CONSOLIDATION_OLTP.Retrieve Schema .Datasource CONSOLIDATION_OLTP Tutorial-Talend V1. Figure 12 : Création de Metadata .TALEND Tutorial Figure 11 : Création de Metadata – Datasource .

Sélection de création d'un fichier Delimited Le processus de création d’un fichier delimited en metadata se décompose comme suit : • Etape 1 : Saisie du nom.0. Figure 13 : Création de Metadata – File Delimited .3 Configuration d’un fichier Delimited Sélectionner « File Delimited » dans le groupe « Metadata » puis effectuer un click droit afin de choisir l’option « Create File Delimited ». Tutorial-Talend V1.1. de la description ainsi que le statut.doc 13 / 57 .TALEND Tutorial 3. du sujet.

Tutorial-Talend V1.0.TALEND Tutorial Figure 14 : Création de Metadata – File Delimited .doc 14 / 57 .Création d'une source Fichier Delimited .Etape 1 • Etape 2 : Saisie du chemin du fichier et du format (Unix ou Windows).

Il est possible de choisir le séparateur de champs. de limiter le nombre d’enregistrements à prendre en compte ou. Tutorial-Talend V1.Création d'une source Fichier Delimited . de préciser si des lignes doivent être ignorées. encore.0. d’indiquer si le fichier contient une ligne d’header.Etape 2 • Etape 3 : Paramétrage de la structure du fichier.doc 15 / 57 .TALEND Tutorial Figure 15 : Création de Metadata – File Delimited . de ligne.

Tutorial-Talend V1.Création d'une source Fichier Delimited .0.Etape 3 • Etape 4 : Définir la structure du fichier afin d’indiquer des alias pour les colonnes si le fichier ne contient pas d’header.doc 16 / 57 .TALEND Tutorial Figure 16 : Création de Metadata – File Delimited .

il n’est pas possible de convertir la date avec le pattern "EEE MMM dd HH:mm:ss zzz yyyy". Tutorial-Talend V1.Création d'une source Fichier Delimited .4 Configuration d’un fichier Positional Sélectionner « File Positional » dans le groupe « Metadata » puis effectuer un click droit afin de choisir l’option « Create File Positional ».doc 17 / 57 . §6. Talend pouvant être en TimeZone FR.3). Cette transformation sera effectuée plus tard dans ce document (cf.1. 3.0. En effet.Etape 4 Note : Il n’est pas possible de définir DateMAJ comme une date car le format peut être le format TimeZone US.TALEND Tutorial Figure 17 : Création de Metadata – File Delimited . sans une routine. il est nécessaire de spécifier le TimeZone à utiliser pour la conversion.

de la description ainsi que le statut. Tutorial-Talend V1.Création 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).0.doc 18 / 57 .Sélection de création d'un fichier Positional Le processus de création d’un fichier positional en metadata se décompose comme suit : • Etape 1 : Saisie du nom. Figure 19 : Création de Metadata – File Positional .TALEND Tutorial Figure 18 : Création de Metadata – Positional . du sujet.

Il est possible de choisir le séparateur de champs.Création d'une source Fichier Positional . de préciser si des lignes doivent être ignorées.doc 19 / 57 . de limiter le nombre d’enregistrements à prendre en compte ou.Etape 2 • Etape 3 : Paramétrage de la structure du fichier.0. de ligne. d’indiquer si le fichier contient une ligne d’header. Tutorial-Talend V1.TALEND Tutorial Figure 20 : : Création de Metadata – File Positional . encore.

Création d'une source Fichier Positional .TALEND Tutorial Figure 21 : Création de Metadata – File Positional .0.Etape 3 • Etape 4 : Définir la structure du fichier afin d’indiquer des alias pour les colonnes. Tutorial-Talend V1.doc 20 / 57 .

Création d'une source Fichier Positional .Etape 4 Détail des colonnes Tutorial-Talend V1.doc 21 / 57 .Création d'une source Fichier Positional .Etape 4 Figure 23 : Figure 22 : Création de Metadata – File Positional .0.TALEND Tutorial Figure 22 : Création de Metadata – File Positional .

Figure 26 : Création d'un job . click droit sur le groupe « Job Designs » afin de créer un folder « Job_simple » Figure 24 : Création d'un folder de Job – Step 1 Figure 25 : Création d'un folder de Job – Step 2 Note : Le nom d’un folder ne doit pas comporter de caractères accentués ni d’espace.Step 1 Tutorial-Talend V1. Pour ce faire.0.doc 22 / 57 . La création d’un job est possible à partir du menu contextuel du groupe « Job Designs » ou un de ses folders.TALEND Tutorial 4 Création d’un job simple Créons à présent un Job affichant un message « Hello World ».

Figure 27 : Création d'un job .TALEND Tutorial Au minima. Figure 28 : Composant tMsgBox Tutorial-Talend V1.0.Step 2 Sélectionner dans la palette le composant tMsgBox du groupe Misc puis cliquer sur la partie Designer du Job.doc 23 / 57 . le nom du job doit être saisi.

Tutorial-Talend V1.doc 24 / 57 . L’onglet « Component » du composant permet de saisir les informations spécifiques au composant.0.TALEND Tutorial Figure 29 : Ajout d'un composant à un job Info : Il est possible de visualiser le code source généré via l’onglet Code.

0.doc 25 / 57 . La section View permet d’indiquer un nom explicite à travers le champ « Label format ». La section Documentation permet d’ajouter un commentaire pour l’utilité du composant.TALEND Tutorial Figure 30 : Onglet Component De manière générale. • • • La section Basic Settings permet d’indiquer les informations nécessaires à l’utilisation du composant. Figure 31 : Section Basic Settings d'un composant tMsgBox Tutorial-Talend V1.

doc 26 / 57 . Figure 33 : Exécution d'un Job Tutorial-Talend V1.TALEND Tutorial Figure 32 : Section View d'un composant tMsgBox L’exécution d’un job se fait via une icône spécifique de la barre de menu ou sur l’onglet Run sous le schéma.0.

doc 27 / 57 .TALEND Tutorial Figure 34 : Exécution du Job Hello World Lors d’une exécution de job. il est possible de connaître le temps d’exécution en cochant avant le lancement la case « Exec time ». Figure 35 : Temps d'exécution d'un job Tutorial-Talend V1.0.

Figure 36 : Extraction de données . Ces fichiers seront ensuite utilisés dans les paragraphes suivants. (il est possible de modifier le nom du composant afin que le schéma soit plus compréhensible) Tutorial-Talend V1.doc 28 / 57 .1) 5. Dans la section « Basic Settings » de l’onglet « Component » o Sélectionner « Repository » dans la liste de Property Type afin de définir que la connexion est définie comme Metadata o Sélectionner la connexion LABD_OLTP comme Repository.1.Composant tMSSqlConnection • Dans le groupe Metadata du repository.2. o Les autres informations n’ont pas à être modifiées étant donné que leurs valeurs ont été récupérées de la datasource.Fichier avec séparateur .2 5. faire glisser la table Client vers le designer du job.TALEND Tutorial 5 5. Il faut cependant indiquer que le composant utilise une connexion existante (en cochant la case « Use an existing connection ») et indiquer la connexion concernée. Un composant tMSSqlInput est créé automatiquement avec les informations nécessaires à son utilisation.1 Extraction des données Fichier avec séparateur Les étapes à suivre pour exporter des données d’une table dans un fichier avec séparateur sont : • • • Créer un job « DBData2FileDelimited » dans un folder « Database_Export ».1 Extraction d’une table vers un fichier Description Nous allons étudier dans ce paragraphe l’export des données d’une table SQL Server vers un fichier avec séparateur et de champs de longueur fixe. Ajouter un composant tMSSQLConnecttion au job. Ce paragraphe nécessite que le paramétrage de la datasource LAB_OLTP soit réalisé (cf §3.0.

Liaison de connexion Figure 39 : Extraction de données .Fichier avec séparateur .0.Composant tMSSqlInput • Faire un click droit sur le composant de connexion et sélectionner Trigger / On Component OK afin de créer une liaison qui doit aboutir sur le composant tMSSqlInput Figure 38 : Extraction de données .Liaison de connexion (suite) • Ajouter dans le job le composant File / Output / tFileOutputDelimited et le renommer en Fichier_CSV_Clients Tutorial-Talend V1.Fichier avec séparateur .doc 29 / 57 .TALEND Tutorial Figure 37 : Extraction de données .Fichier avec séparateur .

0.Fichier avec séparateur .Schema Tutorial-Talend V1.Fichier avec séparateur .doc 30 / 57 .TALEND Tutorial Figure 40: Extraction de données . séparateur de ligne.Basic Settings • En sélectionnant le bouton associé à « Edit Schema ». séparateur de champ) Figure 41 : Extraction de données .Composant tFileOutputDelimited . nous obtenons fenêtre permettant la saisie des colonnes composant le fichier Figure 42 : Extraction de données .Composant tFileOutputDelimited • La section « Basic Settings » de l’onglet Component permet d’indiquer les informations relative au fichier destination (chemin.Fichier avec séparateur .Composant tFileOutputDelimited .

0.Schema (mode automatique suite) • • • Faire un click droit sur le composant MSSqlInput.Fichier avec séparateur .TALEND Tutorial • Il est cependant possible d’automatiser la composition du fichier si l’export concerne toutes les colonnes de la table source.Composant tFileOutputDelimited . la fenêtre comporte l’ensemble des colonnes de la table Client. Faire un click droit sur le composant tFileOuputDelimited et sélectionner Trigger / On Component OK afin de créer une liaison qui doit aboutir sur le composant tMSSqlRollback. Figure 44 : Extraction de données .doc 31 / 57 . relier ce composant au tFileOuputDelimited. Pour ce faire. Tutorial-Talend V1. dans la section « Basic settings ».Composant tFileOutputDelimited .Schema (mode automatique) • En sélectionnant le bouton associé à « Edit Schema ». Ajouter le composant Databases/MS SQL Server/tMSSqlRollback et vérifier dans les « Basic settings » que la connexion sera fermée. puis sans relâcher le bouton.Fichier avec séparateur . sélectionner en schema puis la metadata correspondant à la table Client Figure 43 : Extraction de données .

Fichier avec séparateur .0.Schéma du job Exécuter le job afin de vérifier son bon fonctionnement. Figure 46 : Extraction de données . le job ne sera pas opérationnel. De ce fait.Fichier avec séparateur .doc 32 / 57 .Exécution du job Le fichier a été alors correctement généré. En effet.TALEND Tutorial Le job est à présent terminé : Figure 45 : Extraction de données . Figure 47 : Extraction de données . une liaison Main est appliquée à chaque itération du traitement. Tutorial-Talend V1.Fichier avec séparateur – Fichier généré Note : Si la liaison entre le composant de sortie et le rollback est un Main.

Fichier avec séparateur – Job en erreur Figure 49 : Extraction de données . clore la connexion puis vouloir exporter la deuxième ligne.doc 33 / 57 . Tutorial-Talend V1.Fichier avec séparateur – Job en erreur (suite) 5.TALEND Tutorial la première itération va ouvrir une connexion. exporter la première ligne.0. un exception sera levée.2. il faut réitérer le processus précédent en remplaçant le composant tFileOutputDelimited par un composant tFileOutputPositional.2 Fichier de champs de longueur fixe Afin d’exporter des données d’une table dans un fichier avec des champs de longueur fixe. Figure 48 : Extraction de données . La connexion étant fermée.

doc 34 / 57 .0. Figure 50 : Extraction de données .TALEND Tutorial Exportons les données commandes vers un fichier txt. Le job est à présent terminé : Figure 51 : Extraction de données . la sélection d’un schema permet d’automatiser la saisie de la composition du fichier destination. Tutorial-Talend V1. DateLivraisonPrevue et DateExpedition à 30 et EstCommandeEnLigne à 5.Composant tFileOoutputPositional Dans notre exemple.Schéma du job Exécuter le job afin de vérifier son bon fonctionnement. il faut cependant modifier la taille des champs DateCommande. De manière identique au tFileOutputDelimited.Fichier avec séparateur .Fichier avec des champs de longueur fixe .

TALEND Tutorial Figure 52 : Extraction de données .Fichier avec séparateur – Fichier généré Tutorial-Talend V1.0.Fichier avec séparateur .Exécution du job Le fichier a été alors correctement généré.doc 35 / 57 . Figure 53 : Extraction de données .

1 A partir des fichiers générés dans les paragraphes Fichier avec séparateur et Fichier de champs de longueur fixe. nous allons alimenter des tables. il faut ajouter le composant Processing / tMap Relier le File Delimited Client à ce tMap et relier ce tMap au tMSSqlOuput.1. Sélectionner pour « Action on data » la valeur « Insert » Figure 54 : Alimentation d'une table à partir d'un fichier . Création d’un job nommé « OneFile2DBData ». Ce paragraphe nécessite que le paramétrage des fichiers sources a été réalisé (cf §3. Ajouter un composant tMSSqlOuput pour qu’elle utilise la connexion précédemment déclarée. Ajouter au job une connection SQL Server vers la datasource CONSOLIDATION_OLTP.4) ainsi que celui du datasource CONSOLIDATION_OLTP (cf §3.0.3 et §3.2) 6. Sélectionner pour « Schema » la valeur « Repository » puis la table « Clients». Ajouter au job le File Delimited Client.1. Sélectionner pour « Action on table » la valeur « Clear Table ».2 Alimentation d’une table à partir d’un fichier L’alimentation d’une table à partir d’un fichier se décompose comme suit : • • • • • • • • • Création d’un folder de Job nommé « Database_Import ».TALEND Tutorial 6 Alimentation d’une table SQL Server avec le contenu d’un ou plusieurs fichiers Description 6. Sélectionner dans l’onglet Component du tMap le bouton associé au Map Editor Tutorial-Talend V1. Relier ces deux composants par un lien OnComponentOK.doc 36 / 57 .Composant tMSSqlOuput • • • Afin de définir le mapping entre les données du fichier source et la table cible.1.

un mapping automatique est effectué par homonymie en non case-sensitive Figure 56 : Alimentation d'une table à partir d'un fichier .0.Mapping • • • Supprimer dans un premier temps le mapping sur DateMAJ. En sélectionnant « Auto map ! » de la partie droite. Le champ DateMAJ ne devant pas être null. se placer dans la première colonne du output et sélectionner le bouton « … » afin d’afficher l’Expression Builder qui permet d’apporter une aide sur les expressions.doc 37 / 57 .TALEND Tutorial Figure 55 : Alimentation d'une table à partir d'un fichier . Choisir comme « Category » la valeur « Talend Date » puis dans « Functions » la valeur « getCurrentDate ».Composant tMap • Une fenêtre permet de glisser-déposer de mapper les données du fichier source et celle de la table cible. l’expression est automatiquement mise à jour à « TalendDate.getCurrentDate() » Tutorial-Talend V1.

Exécution du Job Tutorial-Talend V1. Le schéma du job ainsi généré est : Figure 58 : Alimentation d'une table à partir d'un fichier .Schéma du Job L’exécution du Job en cochant la case Statistics aboutit au résultat suivant : Figure 59 : Alimentation d'une table à partir d'un fichier .Mapping (suite) • Insérer un composant tMSSqlCommit et relier le composant tMSSqlOuput précédent à ce composant par un lien « onComponentOk ».TALEND Tutorial Figure 57 : Alimentation d'une table à partir d'un fichier .0.doc 38 / 57 .

doc 39 / 57 . Pour ce faire. Relier le fichier positional au tMap par un click droit puis glisser le lien en restant appuyé. Tutorial-Talend V1.Visualisation des lignes Clients 6.0.Basic Settings du tMSSqlOutput • • Relier les deux composants tMSSqlOutput et tMap.TALEND Tutorial Et la table Clients comprend les 190 000 lignes. les étapes à suivre sont : • • • • • • • • Créer un nouveau job « ManyFiles2DB ». Faire glisser le fichier positional sur le designer du Job. Ajouter un composant tMSSqlOutput afin qu’il pointe vers la table Commandes Figure 61 : Alimentation d'une table à partir de plusieurs fichiers . Figure 60 : Alimentation d'une table à partir d'un fichier . Ajouter un composant tMap. afin que le système mette à jour les champs en sortie du tMap. Répondre Yes à la question « Do you want to get the schema of the target component ». Relier les deux composants précédents via Trigger / On Component OK. Ajouter un Composant tMSSqlConnection. Faire glisser le fichier delimited sur le designer du Job.3 Alimentation d’une table à partir de plusieurs fichiers Nous allons dans cet exemple utiliser deux fichiers sources afin d’alimenter une table.

Par glisser/déposer.0.Mapping • Le champ DateCommande est incorrect car il n’est pas possible de convertir la chaîne de caractère en date.Mise à jour des champs en sortie du tMap • • • Dans Basic Settings.doc 40 / 57 . relier les champs ClientID afin de créer une jointure.DateCommande. sélectionner Map Editor du tMap. Tutorial-Talend V1. Par glisser/déposer dans les entrées. L’expression à utiliser est : TalendDate.parseDateLocale("EEE row1.TALEND Tutorial Figure 62 : Alimentation d'une table à partir de plusieurs fichiers . mapper les champs du row2 vers le output Figure 63 : Alimentation d'une table à partir de plusieurs fichiers ."EN") MMM dd HH:mm:ss zzz yyyy".

Tutorial-Talend V1.Schéma du Job Le Job est exécuté correctement. Le schéma du job réalisé est le suivant : Figure 65 : d'une table à partir de plusieurs fichiers .doc 41 / 57 .0.Mapping (suite) • Ajouter un composant tMSSqlCommit et le relier au tMSSqlOuput via un lien onComponentOK.TALEND Tutorial Figure 64 : Alimentation d'une table à partir de plusieurs fichiers .

Tutorial-Talend V1.doc 42 / 57 . Afin de réaliser une table de rejet. Ajouter un composant tMSSqlInput pointant sur la table Commande. il est parfois nécessaire de récolter les données ne respectant pas les critères.4 Gestion des rejets Lors de l’utilisation de filtres. les étapes à suivre sont : • • • • • Créer un folder de job nommé « Database_Uses ».Exécution du Job 6. Ajouter un composant tFileOuputDelimited destiné à accueillir les commandes validées (les colonnes du fichier sont CommandeId et Etat). Ajouter un composant tMSSqlConnection référençant la base LABD_OLTP.TALEND Tutorial Figure 66 : Alimentation d'une table à partir de plusieurs fichiers .0. De telles données sont appelées rejets. Créer un job nommé « Rejects ».

Tutorial-Talend V1.Activation des filtres • Saisir un filtre sous la syntaxe Java.TALEND Tutorial Figure 67 : Gestion des rejets . Relier le champ Etat en entrée avec celui des fichiers de sortie. sélectionner l’icône d’activation de filtres Figure 68 : Gestion des rejets .0. Relier le champ CommandeID en entrée avec celui des fichiers de sortie. Relier les deux composants tFileOuputDelimited précédent au tMap. ajouter un composant tFileOuputDelimited destiné à accueillir les commandes validées (les colonnes du fichier sont CommandeId et Etat). Pour la sortie Valide.Composition Fichier Output • • • • • • • De même. Ouvrir le Map Editor du tMap.doc 43 / 57 . Ajouter un composant tMap.

TALEND Tutorial Figure 69 : Gestion des rejets .Activation des rejets Figure 71 : Gestion des rejets .Saisie d'un filtre • Pour la sortie de rejet.doc 44 / 57 .Mapping Tutorial-Talend V1.0. sélectionner l’icône d’activation des rejets Figure 70 : Gestion des rejets .

TALEND Tutorial • Ajouter un composant tMSSqlRollback.Exécution du Job Tutorial-Talend V1. Le schéma du job est le suivant : Figure 72 : Gestion des rejets .0.Schéma du Job L’exécution du Job permet de constater la répartition des commandes en fonction de leur état Figure 73 : Gestion des rejets .doc 45 / 57 .

2 tStatCatcher Logs & error tFileList File Tutorial-Talend V1. Palette tMsgBox Composant Misc Description Affiche une alerte Windows. Celle-ci sera revue régulièrement. non-exhaustive. décrit des composants de Talend.0.doc 46 / 57 .TALEND Tutorial 7 Composants Talend La liste suivante.get("$idFileList$_ CURRENT_FILE")) où idFileList correspond à l’identifiant du tFileList §8.get("$idtFor$_CURRENT_I TERATION") où idtFor correspond à l’identifiant du tFileList qui correspond à la valeur entre parenthèse après son nom Paragraphe §4 tRowGenerator Misc tFlowToIterate Misc tFor Misc tLogRow Logs & Errors Permet d’afficher les données sur la console Attention : Ce composant est très lent Permet le calcul de performance Peut être utilisé au niveau du composant par l’onglet Job Settings /Stats & Logs Permet de lister les fichiers d’un répertoire Pour accéder au nom du fichier : ((String)globalMap. Les boutons accessibles peuvent être choisis parmi une liste prédéfinie Génère des jeux de données de test en définissant un schéma et les patterns pour les données de test Permet de définir des actions à répéter pour tous les enregistrements d’une source Permet de lister les fichiers d’un répertoire Pour accéder au nom du fichier : globalMap.

0.1 §5.1 §6.2.2 §5.doc 47 / 57 .2.2 §5.2.2 §5.1 §6.1 Tutorial-Talend V1.2.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 parenthèse après son nom Définit un fichier en entrée dont les champs sont séparés par un séparateur Définit un fichier en entrée dont une longueur fixe est associée à chaque champ Définit un fichier en sortie dont les champs sont séparés par un séparateur Définit un fichier en sortie dont une longueur fixe est associée à chaque champ Est linké avec une table MySql afin de fournir des données en entrée Est linké avec une table MySql afin de pouvoir recevoir des données 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 données en entrée Est linké avec une table MS SQL Server afin de pouvoir recevoir des données 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.

Transformation des données. liste.TALEND Tutorial tELTMysqlMap tELTMysqlInput ELT/MySQL ELT/MySQL tELTMysqlOutput ELT/MySQL tMap Processing Permet d’effectuer un mapping pour la génération de flux Permet de définir une entrée (structure libre ou table) pour effectuer un mapping Permet de définir une sortie (structure libre ou table) pour effectuer un mapping Permet de réaliser entre autre : • • • • • • Jointure (interne/externe). Gestion des rejets. first. max.0. qualité de données. Filtrage. count(distinct) Permet pour un champ contenant des tokens de créer une ligne pour chaque token Permet de regrouper des données en fonction d’une colonne commune et indique les données de la colonne regroupée sous forme de token Permet d’exécuter des méthodes Java Permet d’exécuter des méthodes Java sur l’ensemble des lignes d’un flux de données Permet de lancer des jobs Tutorial-Talend V1.doc 48 / 57 . avg. Permet de faire appel à un programme externe pour réaliser un tri (perfs accrues mais job non portable) Permet de faire des aggrégats avec les fonctions : count.2 tJoin tFilterJoin tUnite tSortRow tExternalSortRow Processing Processing Processing Processing Processing tAggregateRow Processing tNormalize Processing tDenormalize Processing tJava tJavaRow Processing Processing tRunJob System Réalise des jointures Permet de limiter les colonnes en sortie du composant Permet de fusionner les données de deux structures différentes Permet de trier les données suivant une ou plusieurs colonnes. sum. §6. Concaténation et inversion de champs. last. min.

doc 49 / 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 définir une variable d’environnement Permet de déterminer les doublons en fonction d’une colonne de données en entrée. il est possible soit d’avoir les données uniques soit d’avoir les données dont la colonne étudiée a déjà été rencontrée.0. En sortie. Permet de recevoir des mails en pop Tutorial-Talend V1.

Créons une routine simple prenant en paramètre une valeur à laquelle sera préfixée « Hello ».TALEND Tutorial 8 8. 8. Les étapes à suivre sont : • • Création d’un folder UserRoutines dans la section Routines Création d’une routine ConcatenateHello Tutorial-Talend V1.0. nommées « Routines ».1 Composants Java Description Il est possible sous Talend de créer des méthodes Java.2 Création d’une routine La création d’une Routine est accessible dans la section Routines de la partie Code du repository. pouvant être utilisées dans les composants ainsi que de définir ses propres composants.doc 50 / 57 .

doc 51 / 57 .0.TALEND Tutorial Figure 74 : Création de routine .Création Tutorial-Talend V1.

Code Par défaut d'une routine • Modifier la classe générée par défaut par code préfixant le message par Hello et retournant la valeur ainsi obtenue.TALEND Tutorial Figure 75 : Création de routine .doc 52 / 57 . Tutorial-Talend V1.0.

Ajout d’un fichier en entrée.doc 53 / 57 .Prenom) (la categorie « *User Defined » permet d’atteindre aisément la routine définie) Tutorial-Talend V1. Création d’un job RoutineHello. Ajout d’un tMap devant être relié aux deux composants précédents. Ajout d’un composant tLogRow avec une unique colonne Message.prefixeHello(row1.0.Méthode prefixeHello • • • • • • Création d’un folder Java_Component au niveau des Jobs.TALEND Tutorial Figure 76 : Création de routine . Mapping dans le Map Editor de la valeur de sortie Message par l’expression ConcatenateHello.

doc 54 / 57 .Expression Builder Tutorial-Talend V1.TALEND Tutorial Figure 77 : Création de routine .0.

TALEND Tutorial Figure 78 : Création de routine .0.doc 55 / 57 .Job généré L’exécution du Job confirme que l’utilisation de la routine est possible. Tutorial-Talend V1.Mapping Le schéma du Job ainsi généré est : Figure 79 : Création de routine .

TALEND Tutorial Figure 80 : Création de routine .doc 56 / 57 .Exécution du job Tutorial-Talend V1.0.

[Commandes]( [CommandeID] [int] NOT NULL. [FraisLivraison] [money] NOT NULL.1 Script de création de CONSOLIDATION_OLTP.2 Script de création de CONSOLIDATION_OLTP. [prenom] [varchar](50) NOT NULL. [TotalHorsLivraison] [money] NOT NULL.[Clients] ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].doc 57 / 57 . [ClientEmail] [varchar](50) NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF Tutorial-Talend V1.1 Base de données 9. [TotalOrdre] [money] NOT NULL.1.TALEND Tutorial 9 9. [DateMaj] [datetime] NOT NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF 9. [ClientNom] [varchar](50) NOT NULL.1.[Clients]( [ClientID] [int] NULL. [DateCommande] [datetime] NOT NULL.1. [Email] [varchar](50) NULL.Commandes USE [CONSOLIDATION_OLTP] GO /****** Objet : Table [dbo].1 Annexes Ressources du tutorial 9.Clients 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].0. [NumeroCommande] [char](18) NOT NULL.1.1. [Nom] [varchar](50) NOT NULL. [ClientPrenom] [varchar](50) NOT NULL.

Sign up to vote on this title
UsefulNot useful