Extract, Load and Transform (ELT), ou, en français, Extraire, Charger et Transformer, est
un processus de manipulation de données lié aux bases de données, et plus
particulièrement aux data warehouses. Ce mode est différent du mode ETL habituel
(Extract, Transform, Load). En mode ELT, les données sont extraites, chargées dans la
base de données, puis transformées dans la base de données, à l'emplacement défini,
avant toute utilisation. Ces données sont migrées en masse et le processus de
transformation s'effectue après le chargement des données dans le SGBD cible, en format
brut. Cela permet de libérer de la bande passante.
Cependant, le mode ELT n'est pas optimal dans toutes les situations. Par exemple :
- SQL est moins puissant que Java, le nombre de transformations de données est
limité.
- les utilisateurs du mode ELT doivent avoir des compétences en personnalisation
de SQL et de SGBD.
Les modèles SQL sont conçus pour faciliter l'utilisation du mode ELT.
« Talend Open Studio » est un ensemble de produits open source pour le développement,
test, déploiement et administration des projets d’intégration de données et d’applications.
Talend fournit une plateforme unifiée qui rend la gestion et l’intégration des données et
applications plus facile, en fournissant un environnement unifié pour la gestion de tout
leur cycle de vie.
Pour les besoins de notre TP, nous utilisons « Talend Data Integration » pour la
transformation des données et leur intégration. Il est possible de télécharger toutes les
solutions de Talend Open Studio sur http://fr.talend.com/products/talend-open-studio.
1. Installation de l’outil
- Après avoir installé Talend sur votre machine et le démarrer (il faut faire
l’extraction du logiciel à partir du fichier compressé).
- Créer le workspace où seront sauvegardé les projets en veillant à ce que ça soit un
emplacement accessible en lecture et en écriture (comme vos documents ou votre
bureau) : Éviter de le créer directement dans le répertoire d’installation de Talend.
- Créer un nouveau projet intitulé : Intégration_données.
2. Interface utilisateur
- Après la fermeture de la page de Bienvenue, la fenêtre qui s’affiche aura la forme
suivante :
3. Repository
Dans le dossier Metadata du Repository, vous pouvez stocker toutes vos informations
de connexion aux fichiers, bases de données et/ou systèmes, et les réutiliser pour la
création de vos Jobs.
Les différents assistants de création vous aident à enregistrer ces informations qui vous
permettent de paramétrer les composants d'entrée ou de sortie de vos Jobs. Ils vous
permettent également de stocker une description de vos données appelée "schéma" de
façon centralisée dans le Studio Talend.
Les procédures des différents assistants diffèrent en fonction du type de connexion choisi.
Les Jobs que vous créez peuvent gérer les différentes sources et cibles dont vous avez
besoin lors de vos processus d'intégration de données, ou lors de tout autre processus lié.
Si vous vous connectez régulièrement à une base de données, vous pouvez centraliser les
informations de connexion à cette base de données sous le nœud Metadata de la vue
Repository.
Pour créer une connexion à une base de données à partir de zéro, développez le nœud
Metadata du Repository. Ensuite, cliquez-droit sur Db Connections puis sélectionnez
Create connection dans le menu contextuel afin d'ouvrir l'assistant de connexion à une
base de données.
Pour centraliser les paramètres de connexion à une base de données que vous avez définis
dans un Job, cliquez sur l'icône dans la vue Basic settings du composant de base de
données correspondant. Sa propriété Property Type doit être Built-in afin d'ouvrir
l'assistant de configuration de connexion à une base de données.
Pour modifier une connexion à une base de données existante, cliquez-droit sur la
connexion dans le Repository puis sélectionnez Edit connection afin d'ouvrir l'assistant
de configuration de connexion.
1. Dans l'assistant de connexion qui s'ouvre, donnez un nom à votre connexion dans
le champ Name. Ce nom apparaît comme nom de la connexion à la base de données
sous le nœud Metadata du Repository.
2. Renseignez les champs facultatifs Purpose et Description. Les informations que
vous saisissez dans le champ Description apparaissent en tant qu'info-bulle
lorsque vous déplacez le pointeur de votre souris sur la connexion.
3. Si nécessaire, définissez la version et le statut de la connexion dans les champs
Version et Status, respectivement. Vous pouvez également gérer la version et le
statut d'un élément du Repository dans la boîte de dialogue [Project Settings]. Pour
plus d'informations, consultez Gérer les versions et Gérer les statuts, respectivement.
4. Si nécessaire également, cliquez sur le bouton Select à côté du champ Path afin de
sélectionner un dossier sous le nœud Db connections. Ce dossier contient la
connexion à la base de données créée. Notez que vous ne pouvez pas sélectionner
de dossier pendant que vous éditez une connexion à une base de données
existante. Vous pouvez cependant déposer une connexion dans un nouveau
dossier quand vous le souhaitez.
5. Cliquez sur Next lorsque vous avez terminé. L'étape suivante nécessite que vous
saisissiez ou que vous éditiez des données de connexion à une base de données.
ii. Définir des paramètres de connexion
- Un message d'erreur s'affiche s'il n'y a aucune table à retrouver dans la base de
données sélectionnée ou si vous n'avez pas les droits d'accès à cette base de
données.
- Un nouvel assistant apparaît qui vous donne la possibilité d'afficher et de filtrer les
différents objets (tables, vues et synonymes) de votre connexion à la base de
données.
- Dans la zone Select Filter Conditions, vous pouvez filtrer les tables de votre base
de données soit par leur nom à l'aide d'un assistant dans le champ Set the Name
Filter, soit à l'aide d'une requête SQL dans le champ Use the Sql Filter.
- Pour filtrer les tables d'une base de données par leur nom, observez les étapes
suivantes :
1. Dans la zone Select Filter Conditions, sélectionnez l'option Use the Name Filter.
2. Dans la zone Select Types, cochez la/les case(s) du/des objet(s) de la base de
données que vous voulez filtrer ou afficher.
3. Dans la zone Set the Name Filter, cliquez sur le bouton Edit... pour ouvrir la boîte
de dialogue [Edit Filter Name].
4. Dans la boîte de dialogue, saisissez le filtre souhaité. Par exemple, si vous souhaitez
récupérer les objets dont le nom commence par "A", saisissez le filtre "A%" ou si
vous souhaitez récupérer les objets dont le nom termine par "type", saisissez
"%type".
5. Cliquez sur OK pour fermer la boîte de dialogue.
6. Cliquez sur Next pour afficher la vue suivante de l'assistant, qui présente la liste
des objets filtrés.
- Pour filtrer les objets à l'aide d'une requête SQL :
1. Dans la zone Select Filter Conditions, sélectionnez l'option Use Sql Filter.
2. Dans le champ Set the Sql Filter, saisissez la requête SQL souhaitée.
3. Cliquez sur Next pour afficher la vue suivante de l'assistant, qui présente la liste
des objets filtrés.
que son schéma, cliquez sur l'icône dans la vue Basic settings du composant
correspondant afin d'ouvrir l'assistant de configuration des métadonnées du
fichier. Notez que Built-in doit être sélectionné dans la liste Property Type.
- Cliquez sur Finish pour valider. Le nouveau schéma apparaît dans l'arborescence
du Repository, sous le nœud de la connexion File Delimited appropriée.
VI. Gestion des jobs
1. Créer un Job
Pour créer le Job d'exemple décrit dans cette section, procédez comme suit :
Une fois le Job créé, il faut ajouter des composants dans l'espace de modélisation
graphique, un tFileInputDelimited, un tLogRow et un tFileOutputDelimited dans cet
exemple.
- trouver votre composant dans la Palette en saisissant des mots-clés dans le champ
de recherche et le déposer dans l'espace de modélisation graphique,
- ajouter un composant en saisissant directement des mots-clés dans l'espace de
modélisation graphique,
- ajouter un composant de sortie en le glissant depuis un composant d'entrée déjà
dans l'espace de modélisation graphique.
- glisser-déposer un élément de métadonnées centralisé depuis le nœud Metadata
dans l'espace de modélisation graphique et sélectionner le composant qui vous
intéresse dans la boîte de dialogue Components.
Ainsi, le contenu du fichier customers.txt est affiché sous forme de tableau afin d'être plus
facilement lisible.
Exécuter le Job
Maintenant que les composants sont configurés, le Job peut être exécuté.
Le fichier est lu ligne par ligne, les champs extraits sont affichés dans la console Run et
écrits dans le fichier de sortie spécifié.
VII. Activité 1 :
1. Création fichier délimité
La première étape à réaliser est de définir ces sources de données dans le Repository pour
pouvoir générer leurs schémas et les utiliser dans les activités suivantes.
Vous avez ainsi ajouté un fichier source, dont le schéma pourra être utilisé dans toute
l’application.
2. Tri de documents
Vérifier que le fichier trié a bien été créé dans le répertoire que vous avez spécifié plus
tôt.
3. Jointure de fichiers
Le fichier etat.txt permet d’associer l’identifiant d’un état américain avec le nom de cet
état. On se propose de faire la jointure des fichiers client.csv et etat.txt pour remplacer
l’identifiant de l’état dans les données du client par son nom.
Pour faire cela, créer un nouveau Job Jointure_fichiers et suivre les étapes suivantes :
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 d’état. On désire filtrer ces données, et n’enregistrer dans le fichier de sortie que
les données comportant un nom d’état. Les autres données pourront être affichées dans
la console.