Vous êtes sur la page 1sur 4

TP ETL avec Talend Open Studio

André Miralles

Lancement de l’environnement

1. Récupérez la machine virtuelle um_exercise.ova à l’adresse


https://seafile.lirmm.fr/f/341cfec522bf4fcba0f5/?dl=1

2. Lancez la avec Virtual Box avec l’identifiant : polytech et le mot de passe : polytech
3. PostgreSQL est installé avec un compte polytech et une base de données polytech Pour
le lancer, depuis un terminal : psql
4. Pour lancer Talend Open Studio depuis un terminal tapez /opt/talend.sh
5. Si vous avez besoin de sqlite il faudra l’installer : sudo apt-get install sqlite3 libsqlite3-dev

Création d’un projet

• Lancer Talend Open Studio


• Si besoin, créer un nouveau référentiel s’il n’est pas déjà créé en cliquant sur le
bouton « Gérer les connexions »
• Cliquer sur l’option « Créer un projet »
• Nommer le projet
• Cliquer au final sur le bouton « Create »
• Ouvrir le projet que vous venez de créer

Exercices

Hello World
• Cliquer avec le bouton droit sur « Jobs » puis « Créer un job »

• Chercher le composant « tMsgBox » dans la palette, il se trouve dans le groupe


« Divers » et le placer dans la zone de Job
• Double-cliquer dessus, vérifier dans l’onglet « composant » que le message est bien
« Hello world ! »
• Aller dans l’onglet « exécuter », et cliquer sur « Exécuter »
Note : On peut également voir le code qui a été généré en basculant en mode « Code » (en
bas à gauche de la section principale)

1. Accès à des sources de données (BD - Excel)


Pour influer avec une source de données, il est conseillé de renseigner certaines
informations la concernant afin de ne pas avoir à les saisir manuellement durant l’écriture
des transformations du projet.

Concernant le fichier Excel contenant la liste des employés « staff.xlsx » :


• Faire un clic droit sur « Métadonnées Fichier Excel », « Créer un fichier Excel »
• L’appeler « employé » puis « Suivant »
• Choisir le fichier « staff.xlsx » dans le champ « Fichier », sélectionner la fiche « _t1 » et
cliquer sur « Suivant »
• Cocher « Utiliser la première ligne comme libellés de colonnes » puis « Suivant »
• Afin d’en faciliter l’utilisation plus tard, changer les types de champs et le modèle
date comme indiqué dans la capture d’écran ci-dessous :

• Cliquer sur « Terminer »

Avec la base de données sqlite « BDOrion.sqlite »


(https://seafile.lirmm.fr/f/e272b35f12654636a385/) :
• Dans le référentiel, dans la section « Métadonnées », faire un clic droit sur
« Connexions aux bases de données », puis « Créer une connexion »
• Appeler la connexion « Base_Orion_SQLite » puis cliquer sur « Suivant »
• Choisir « SQLite » comme type de base de données et accéder au fichier
BDOrion.sqlite dans le champ « Fichier » puis cliquer sur « Terminer »

Maintenant, pour pouvoir lire la structure de la base de données :


• Cliquer avec le bouton droit sur la connexion « Base_Orion_SQLite » et choisir
l’option « Récupérer le schéma » dans le menu contextuel
• Pour récupérer toutes les tables, garder le filtre « % » et cliquer sur « Suivant »
• Tout sélectionner, puis choisir « Suivant »
• Ainsi, on obtient les structures de toutes les tables de la base de données, cliquer sur
« Terminer »
2. Lecture et affichage de données
• Créer le job « tp03_Lecture_affichage »
• Accéder aux schémas des tables dans les métadonnées de la connexion
« Base_Orion_SQLite », et déplacer dans la zone de job la table « continent »
• Choisir « tSQLiteInput »
• Ajouter à la transformation le composant tLogRow (dans « Logs et erreurs »)
• Relier les deux en gardant le bouton droit de la souris appuyés
• De la même façon, afficher le contenu du fichier Excel avec un autre composant
tLogRow
• Tester en changeant la propriété « Mode » d’un tLogRow vers « Tableau »
• Sélectionner « statistiques » dans les paramètres avancés de l’onglet « Exécuter »
pour avoir des informations supplémentaires sur la transformation
Note : L’utilisation systématique des statistiques est conseillée, elle permet souvent de voir
s’il y a un problème sur la transformation (si aucune donnée ne passe par un certain chemin
par exemple)

3. Manipulation de données sous condition


• Créer le job « tp04_Filtre_valeur »
• Y placer un composant de lecture de la table « country »
• Rajouter un composant « tMap » (dans « Transformation »)
• Lier ces deux composants
• Consulter ses propriétés et rajouter comme condition Continent_ID vaut 93.0
• Rajouter un tLogRow
• Avec un clic droit sur le tMap, envoyer les lignes « Filtre » vers le tLogRow
• Exécuter la transformation
• Créer un second flux de sortie du tMap vers un second tLogRow et filtrer les noms de
pays contenant « fri »
• Exécuter la transformation

4. Jointures de flux
• Créer le job « tp05_Jointure »
• Ajouter des composants pour lire les tables « continent » et « country »
• Placer un composant « tMap » et y relier, d’abord continent, puis country
• Mettre un tLogRow et y relier le tMap (choisir « affichage » comme nom de sortie)
• Double cliquer sur le tMap
• Lier « Continent_ID » du premier vers celui du second en faisant un glisser-déposer
• Glisser-déposer les champs « Continent_Name » et « Country_Name » dans
« affichage »
• Lancer la transformation
• Choisir « Inner join » comme « join model » dans les propriétés du tMap et
exécuter la transformation
• Quel est l’effet d’« Inner join » ?
• Dans les propriétés du tMap, changer « Correspondance unique » vers « Toutes les
correspondances » et exécuter
• Quel est l’effet de ce changement ?
Note : pour faire une jointure, le composant tMap est beaucoup plus pratique à utiliser
que le composant tJoin et permet également de faire des conditions (comme tFilterRow)

5. Ecriture dans une base de données


• Dans PostGreSQL, créer la table pays_simple : « CREATE TABLE pays_simple (code
VARCHAR(2) PRIMARY KEY, nom VARCHAR(100)) ; »
• L’utilisateur polytech a été créé, changer le mot par \password
• Dans Talend, créer une connexion vers la base de données
• Type de base de données : PostgreSQL
• Identifiant/mot de passe : polytech / votremotdepasse
• Serveur : localhost
• Port : 5432
• Database: polytech
• Schéma : public
• Récupérer les schémas des tables de cette base de données (sur la connexion, utiliser
le menu « Retrieve Schema »)
• Créer le job « tp06_Ecriture_bd »
• Placer un composant en lecture de la table « country »
• Déplacer, depuis les schémas de tables de la nouvelle base de données, la table
« pays_simple » et choisir « tPostgresqlOutput » comme composant
• Utiliser un tMap pour les relier et déplacer les champs en entrée vers les bons
champs en sortie (le champ « code » correspond au champ « Country »)
• Exécuter et bien vérifier que l’écriture a eu lieu
• Dans les propriétés du composant d’écriture, choisir « vider la table » comme action
sur la table
• Rajouter un tLogRow et y relier le composant d’écriture. On peut ainsi voir les
données insérées.

6. BONUS
Le but de cet exercice est d’utiliser certains des composants précédents et surtout de
bien comprendre comment ordonner sa transformation.
Nous recherchons à avoir l’évolution des ventes des vendeurs au cours des années. Il
faudra donc calculer la somme des ventes pour chaque année de chacun des vendeurs.
Les vendeurs sont les personnes dont le titre contient « Sales Rep » (cette information se
trouve dans le fichier Excel). Le résultat de cette transformation est à sauvegarder dans un
nouveau fichier Excel.

Vous aimerez peut-être aussi