Vous êtes sur la page 1sur 2

FACULTE DES SCIENCES ECONOMIQUES ANNEE UNIVERSITAIRE : 2021-2022

ET DE GESTION DE SFAX
DEPARTEMENT D'INFORMATIQUE

AUDITOIRE : 3LFI.
ENSEIGNANTES : M. BEN ABDALLAH, S. BEN DBABIS.

SYSTEMES D’INFORMATION DECISIONNELS


TP N°4
Intégration des données et processus ETL avec Talend Open Studio

Objectifs du TP :
L’objectif de ce TP est de vous apprendre à extraire des données à partir de sources de données
externes et hétérogènes, de les transformer et de les charger dans un entrepôt de données en
utilisant l’outil d’intégration de données Talend Open Studio.
Exercice 1 : Lecture d’une table MySQL et ajout d’un champ
1. Téléchargez à partir de la plateforme les fichiers «gestion_livres_livre.sql » et
« gestion_livres_auteur.sql» et « Test_CSV.csv ».
2. Démarrez un outil de gestion de base de données MySQL (MySQL Workbench, php My Admin
de easyphp, Laragon…) et exécuter les deux scripts SQL.
3. Ouvrez Talend et créez un projet avec le nom « TalendMySQL ».
4. Sous Métadonnées, créez une connexion « cnxgestionsLivres » à une base de données MySQL.
Donnez les paramètres de la base de données « gestion_livres ». N’oubliez pas d’installer le
connecteur java à MySQL.
5. Récupérez le schéma des tables.
6. Créez un nouveau job « TestMySQL » et glissez la table « auteur » en choisissant le composant
TDBInput(MySQL).
7. Ajoutez au job « TestMySQL » un nouveau composant log de type TLogRow en choisissant
l’option tableau.
8. Faites lier les deux composants et exécutez le job.
9. Ajouter au job le composant TMap et le faites lier par les deux composants précédents.
10. Ouvrir le tMap puis appuyer sur mapping auto en haut à droite et exécuter le job à nouveau
(normalement il n’y a pas de changement)
11. Ouvrer à nouveau le tMap et créer le champ var1 dans la partie droite. Cocher que celui-ci
peut être null et qu’il peut avoir une taille de 200.
12. Créer un nouveau champ dans la colonne du milieu puis cliquer sur les « … » pour éditer
l’expression : (row1.NUMERO_A>100000)?"Auteur récent":"Auteur ancien".
13. Faire glisser le nouveau champ de la colonne du milieu vers la colonne de droite et exécuter le
job à nouveau. Que remarquez-vous ?
1
Exercice 2 : Lire un fichier CSV et enregistrer les données en BDD
1. Reprendre le même projet Talend et créez un nouveau job « TestCSVBDD ».
2. Créez une connexion à un fichier délimité CSV et lisez le fichier « Test_CSV.csv ». Définir les
lignes d’en-tête comme nom de colonnes.
3. Glisser la connexion au fichier CSV dans le job « TestCSVBDD » et choisissez le composant «
tFileInputDelimited ».
4. Créez une routine et ajoutez le code suivant :
public static String Concat (String message1, String message2)
{ String resultat = new String(""); resultat = message1 + " / " + message2; return resultat; }
5. Ajoutez un composant TMap au job « TestCSVBDD » et liez-le au composant déjà créé.
6. Ouvrez TMap et créez une nouvelle variable avec l’expression suivante :
testRoutine.Concat(row1.NOM,row1.PRENOM).
7. Pour charger la sortie de TMap dans la base de données « gestion_livres », ajoutez un
composant TDBOutput(MySQL) en donnant comme nom d’une nouvelle table
« insertFileCSV ».
8. Liez le TMap avec les composants d’entrée et de sortie en rajoutant un nouveau champ
dans la sortie pour récupérer le résultat de la nouvelle variable.
9. Exécutez le job et vérifiez la base de données. Vous pouvez récupérer le schéma de
nouveau.

Exercice 3 : Fusionner 2 fichiers CSV en un seul fichier CSV


1. Reprendre le même projet Talend et créez un nouveau job « FusionCSV ».
2. Créez des métadonnées pour chacun des 2 fichiers CSV « marketing.csv » et
« departements.csv » préalablement téléchargés de la plateforme.
3. Ajoutez les 2 fichiers délimités en entrée dans le job « FusionCSV ».
4. Transformez vos numéros de départements pour qu'ils soient les mêmes que ceux
renseignés dans le fichier des magasins. Pour ce faire, enlevez les 0 devant les numéros de
département inférieurs à 10, utilisez le composant tMap et affichez le résultat avec
tLogRow pour effectuer un simple test.
5. Transformez vos numéros de magasins pour que tous commencent par un M. Pour ce faire,
utilisez une routine (expression régulière) Java et un composant tMap et affichez le résultat
avec tLogRow pour effectuer un simple test.
N.B. Le code java suivant est utilisé dans la routine :
public static String corrigerNumMagasin(String s) {
if (Pattern.matches("M.*", s)==false) return "M"+s;
else return s;}
6. Joignez les 2 fichiers après transformation et récupérez les données de sortie dans un CSV.
Pour ce faire, utilisez le composant tMap, et transformez le résultat en CSV grâce au
composant tFileOutputDelimited.
2

Vous aimerez peut-être aussi