Vous êtes sur la page 1sur 8

Université de Tunis Année Universitaire : 2023/2024

Business Intelligence
M2 DIG des services

TP2 : Intégration des données avec TALEND


Manipulation des fichiers
Enseignante TP : Hajer Amdouni

EXERCICE 1

Objectif : Création d’un fichier .csv


Composants utilisés :
 tFixedFlowInput : Ce composant permet de générer de la donnée.
 tFileOutputDelimited : ce composant permet de créer un fichier csv contenant des
données
Procédure :
1. créer un nouveau job appelé « Ecriture_fichier ».
2. Déposer les deux composants sur le panneau designer.
3. Sur l’onglet « Composant » du composant tFixedFlowInput, Modifiez le schéma
comme suit :

1/8
4. Toujours dans l’onglet « Composant » mettez le nombre de lignes à « 3 » puis
remplissez les valeurs des champs ajoutés comme sur l’image ci -dessous.
(N’oubliez pas les guillemets pour les chaines de caractères.)

5. Vérifier le chemin du nouveau fichier à créer dans l’onglet composant de


tFileOutputDelimited. C’est ce composant qui vous permettra de créer le fichier
csv contenant les données générées par le tFixedFlowInput.
6. Exécutez le job, ouvrir le fichier généré et voir les données que Talend a ajouté.

EXERCICE 2
Objectifs: Utiliser les métadonnées pour les fichiers délimités et trier les données
Pour lire et/ou écrire des données dans des fichiers délimités, vous pouvez centraliser les
métadonnées de ces fichiers dans le Repository afin de les réutiliser facilement. Les métadonnées
de type File Delimited peuvent être utilisées pour définir les propriétés des composants
tFileInputDelimited, tFileOutputDelimited.
Composants utilisés :
 tFileInputDelimited
 tSortRow : Ce composant permet le tri des données.
 tFileOutputDelimited : ce composant permet de créer un fichier csv contenant des
données
Fichiers utilisés :
 personne.csv

Procédure :
1. Créer un nouveau job job_metadonnees_sorting
2. Pour créer une connexion à un fichier délimité à partir de zéro, développez le
nœud Métadonnées du Référentiel. Ensuite, cliquez-droit sur fichier délimité puis

2/8
sélectionnez créer fichier délimité dans le menu contextuel afin d'ouvrir l'assistant
de configuration des métadonnées du fichier.
3. Définir le chemin et le format du fichier (fichier personne.csv)
4. Définir le parsing du fichier
5. En fonction de votre type de fichier (CSV ou Delimited), vous pouvez paramétrer
des caractères d'inclusion et d'exclusion (respectivement Text Enclosure et Escape
character).
6. Si l'aperçu du fichier indique un message d'en-tête, excluez cet en-tête de l'analyse.
Indiquez le nombre de lignes d'en-tête à ignorer. En outre, si le fichier contient
des informations de pied de page, indiquez le nombre de lignes à ignorer.
7. Vérifier et personnaliser le schéma du fichier

8. Déposez la métadonnée dans l'espace de modélisation graphique. Une boîte de


dialogue s'ouvre et vous demande quel type de composant vous souhaitez utiliser
(choisir tFileInputDelimited)

9. Ajouter les deux composants tSortRow et tFileOutputDelimited


10. Configurer le composant tsortRow ainsi

3/8
11. Vérifier le chemin du nouveau fichier à créer dans l’onglet composant de
tFileOutputDelimited. (nommée personne_sorted)

12. Exécuter le job et vérifier le contenu du nouveau fichier.

EXERCICE 3
Objectifs:
Utiliser les métadonnées pour les fichiers délimités, Utiliser le générateur
aléatoire des données.
Composants utilisés :

 tRowGenerator est utilisé pour créer des entrées de façon aléatoire. Ces entrées
seront ensuite envoyées au composant tSortRow afin d'être triées selon une valeur
définie.
 tSortRow : Ce composant permet le tri des données.
tFileOutputDelimited : ce composant permet de créer un fichier csv contenant des
données
Procédure :
1. Créer un nouveau job job_generator
2. Déposer les trois composants sur le panneau designer.
3. Modifier la configuration du composant tRowGenerator ainsi :

4/8
 Le composant tRowGenerator contient deux champs : id et adresse
 Le champ « id » est de type « int » il peut prendre comme valeur seulement des entiers, nous
avons donc créé une séquence « personne », qui démarre a 1 et s’incrémente de 1 en 1.
Dans fonction sélectionnez Numeric.sequence(String,int,int) et dans l’onglet paramètres de la
fonction, mettez « personne » comme valeur du paramètre « sequence identifier », 1 pour « start
value » et 1 pour « step ».
 Pour le champ adresse, sélectionnez TalendDataGenerator.getUsStreet(), cette méthode
permet de générer de manière aléatoire un nom de rue.
 Fixez le nombre de lignes à 5 pour le RowGenerator.
4. Vous pouvez cliquer sur « OK » et ajouter une connexion de type « Main » entre les
composants.
5. Lancer le job, et observer le résultat.

5/8
EXERCICE 4
Objectifs:
Jointure des fichiers
Composants utilisés :
tFileinputDelimited
tFileoutputDelimited
tmap : C'est le composant le plus important et le plus puissant de Talend. Il permet de
réaliser les multi opérations (jointures, transformations, filtres, rejets...)
Le tMap permet de réaliser les opérations suivantes :
 multiplexage et démultiplexage des données ;
 transformation des données sur tout type de champs ;
 concaténation et inversion de champs,
 filtrage de champs à l'aide de contraintes,
 gestion des rejets de données.
Fichiers utilisés :
 client.csv
 gouvernorat.txt
Procédure :
1. Créer un nouveau job intitulé Jointure_fichiers
2. Créez des métadonnées pour chacun des 2 fichiers (gouvernorat et client) .
3. Le fichier gouvernorat.txt contient les identifiant et les noms des gouvernorats de la
Tunisie. On se propose de faire la jointure des fichiers client.csv et gouvernorat.txt
pour remplacer l’identifiant du gouvernorat dans les données du client par son nom.

Glisser les deux fichiers délimités client et gouvernorat dans le panneau principal.

4. Glisser le composant tMap, de la catégorie Transformation dans le panneau


principal.
5. Relier le fichier d’entrée client d’abord à la tMap, puis le fichier gouvernorat. Relier
enfin le la tMap vers le fichier de sortie.

6. Appeler la sortie jointure. Double cliquer sur la tMap pour la configurer. Une fenêtre
s’ouvre. Commencer par relier le champ idgouvernorat de la première table row1,
au champ idgov de la table row2. Faire glisser ensuite les champs id, nomClient, et
adresseClient de row1, puis nomGouvernorat de row2 vers la table de destination
jointure.

6/8
7. Configurer ensuite le fichier de sortie en précisant son chemin , et en incluant l’en -
tête.

8. Exécuter le Job, et vérifier le fichier de sortie.

EXERCICE 5
Objectifs:
Duplication d’un job et Sélection des données
Composants utilisés :
tFileinputDelimited
tFileoutputDelimited
tmap :
Fichiers utilisés :
 client.csv
 gouvernorat.txt
Procédure :

7/8
Il est possible de filtrer les données, en rejetant par exemple les entrées erronées. On peut
remarquer dans les données du fichier client.csv que certaines entrées ne comportent pas
de nom de gouvernorat. On désire filtrer ces données, et n’enregistrer dans le fichier de
sortie que les données comportant un nom de gouvernorat. Les autres données pourront
être affichées dans la console.

1. Dupliquer le Job Jointure_fichiers et le renommer Selection_fichiers


2. Double-cliquer sur le composant tMap pour en modifier les propriétés. Activer le
filtre des données, en cliquant sur la flèche de la table jointure. Entrer ensuite le critère
de sélection des données (en Java) suivant : row2.nom_gouvernorat !=null &&
!row2.nom_gouvernorat.isEmpty()

3. Créer une deuxième sortie appelée rejets en cliquant sur (+) au dessus de jointure.
Faire glisser les champs nomClient et nomgouvernorat dans la table rejets.

4. Indiquer que cette table contient les données rejetées par la sortie principale en
cliquant sur le tournevis sur la table rejets, et en mettant le champ catch output reject
à true. Cliquer sur OK.

5. Faire glisser le composant tFileoutputDelimited dans la fenêtre principale. Clic-droit


sur la tMap, choisir Ligne>rejet et cliquer sur le composant de tFileoutputDelimited
pour relier ces deux composants, et envoyer la sortie rejet vers un autre fichier de
sortie appelé rejet. Exécuter le Job et observer le résultat.

8/8

Vous aimerez peut-être aussi