Fusionner deux sources de données sous talend avec rejet

Cible Fonctionnelle                               

Ce tutoriel permet à tout lecteur ou internaute de récupérer les données dans un fichier excel (par exemple liste des clients) et d’une table dans une base de données (par exemple les informations liées à des commandes), et de faire la jointure des deux sources de données et ressortir un résultat dans une table (listes des clients et des commandes passées) en rejetant les données qui ne sont pas liées (liste des clients qui n’ont pas passé de commande).

Cible Technique:
SchemaFonctionnel

Etape1 : préalable : création du fichier des données des clients (fichier excel) avec les données.

Etape2 : Préalable : Création de la base de données avec les tables

* 1 table (commande) comportant les données sur les commandes des clients avec un attribut faisant la liaison entre le client et la commande

* 1 table (liste ou all) qui comportera les clients qui ont passé une commande

 

Etape3 : Création du projet

Au démarrage de talend, une boite de dialogue se présente et nous pouvons choisir « créer un projet »

 en suite renseigner le nom du projet et de cliquer sur le bouton « Créer »

 et enfin sélectionner le nouveau projet créé et de cliquer sur « Terminer ».

-Etape 4 CREATION DES CONTEXTS DE CONNEXION ET DU FICHIER DE PROPRIETE

La création des contextes de connexion permet de dynamiser les accès de connexion à la base de donnée à travers un fichier de configuration appelé fichier de propriété.

a) Création des contextes

Faites un clic droit sur le menu « CONTEXTES » située sur la barre latérale gauche des menus, puis cliquer sur « Groupes de contexte » ; ensuite renseigner les variables de contexte, les types, et les valeurs des variables et enfin cliquer sur le bouton « finish ».

b) Création du fichier de propriété

Créer un fichier avec un éditeur de texte (Notepad++) et renseigner les valeurs, puis d’enregistrer se fichier avec l’extension « .properties »

-Etape 5: CREATION D’UNE CONNEXION A LA BASE DE DONNEES

Faites un clic gauche sur le menu « métadonnées » située sur la barre latérale gauche des menus, puis faire un clic droit sur le menu « Connexion aux bases de données » et de cliquer sur « Créer une connexion »

Ensuite renseigner les informations ensuite cliquer sur suivant ou next, puis renseigner les variables des contextes précédé du mot clé « context » suivi d’un « . » puis suivit du nom de la variable.

Enfin vous pouvez cliquer sur le bouton « Tester la connexion ». Si une boite de dialogue s’affiche avec un message « connexion établie » alors votre configuration est bonne.

ETAPE 6 : CREATION DE LA METADONNEES EXCEL DANS TALEND

Faites un clic gauche sur le menu « métadonnées » située sur la barre latérale gauche des menus, puis faire un clic droit sur le menu « fichier excel » et renseigner les informations  puis cliquer sur « suivant ».

Ensuite cliquer sur le bouton « parcourir » et choisissez le fichier Excel qui contient les données sur les clients,  et cocher la case « lire le format excel 2007 » ; puis choisir la feuille de votre fichier excel qui contient les données, puis liquer sur « next ».

Ensuite, laissez l’encodage utf8 par defaut , et cocher la case « En tête », puis cocher aussi la case « Définir les lignes d’en-tête comme nom de colonne » se trouvant sur l’onglet « aperçu »

Enfin entrer le nom de votre metadonnées du fichier excel et de cliquer sur terminer.

ETAPE7 : IMPORTER LA METADONNEES DES TABLES DANS TALEND

Faites un clic gauche sur le menu « métadonnées » située sur la barre latérale gauche des menus, ensuite faire un clic gauche sur le sous menu « Connexion aux bases de données » et de faire un clic droit sur votre connexion nouvellement crée, et de choisir « Recupérer le schemas ».

Laisser les éléments par défaut et cliquer sur « suivant » et enfin cocher les tables à importer dans la liste des métadonnées des tables de talend.

Etape 8 :  PREPARER LES COMPOSANT DU JOB ET LES CONFIGURER

1.  Déposer le composant « Tprejob » il est configuré par défaut comme l‘image ci-dessous

2. Déposer le composant « tFileinputProperies » et configurer ce composant comme l‘image ci-dessous

3. Déposer le composant « tContextLoader » qui permet d’enregistrer les valeurs des contextes en mémoire et configurer ce composant comme l’image ci-dessous

4. Déposer le composant « tDBConnexion » et configurer ce composant comme l‘image ci-dessous

5. Déposer le composant « tDie » il est configuré par défaut comme l‘image ci-dessous

6. Déposer le composant de la métadonnées Excel (client) précédemment importé à l’étape 6 et configurer ce composant comme l’image ci-dessous

 7. Déposer le composant de la métadonnée de la table (commande) précédemment importé à l’étape 7 en choisissant « tMysqlInput » et configurer ce composant comme l’image ci-dessous

8. Déposer le composant de la métadonnée de la table (all) précédemment importé à l’étape 7 en choisissant « tMysqlOutput » et configurer ce composant comme l’image ci-dessous

9. Déposer le composant tFileOutputDelimited du fichier csv pour les rejets et configurer ce composant comme l’image ci-dessous

10. Déposer le composant « tMap» en créant les différentes sorties (une pour charger les données des clients et des commandes dans la table « all », l’autre sortie nommée rejet pour charger les données des clients qui n’auront pas de commande dans le fichier csv rejet).

Une jointure est faite dans la TMAP entre l’entrée du fichier Excel et l’entrée de la table commande sur l’attribut « id_client ».

Les conditions sont également faites sur les différentes sorties

– id_client du fichier Excel doit être égale à id_client se trouvant dans la table commande

-les données qui ne respecterons pas la condition de jointures seront directement placées dans le fichier de rejet.

La configuration de ce composant comme l‘image ci-dessous.

11. Déposer le composant « Tpostjob » il est configuré par défaut comme l‘image ci-dessous

12. Déposer le composant « TDBclose » qui permet de fermer une connexion, il est configuré comme l‘image ci-dessous

Apres l’execution du job, nous avons les resultat suivant dans notre base de données et dans notre fichier de rejet.

Resultat dans la Table all :

Resultat dans le fichier de rejet :

Et le tout est joué !!!!!!