Index de l'article

Jointure dans un job avec le composant tMap

Nous allons maintenant, dans le même job que précédemment (import de Mysql vers Postgres), joindre nos deux tables Postgres mes_personnes et mes_adresses dans une nouvelle table MySQL mes_clients.

Utilisez ici le composant tMap, mais notez qu'en réalité ce composant n'est pas idéal pour faire des jointures complexes. Il est tout indiqué quand vous souhaitez faire une jointure de tables d'une base à une autre base. Mais pour des jointures plus complexes, mieux paramétrables, ramenez d'abord vos tables impliquées dans une seule base (composant tJaveFlex par exemple) puis utilisez un requêtage dans un composant Input, en écrivant votre/vos jointure(s) en pur SQL.

Utilisez le fichier mes_clients pour créer dans MySQL une table vide.

Modifiez ensuite votre job afin d'arriver à un design de ce type (Image 9).

job tmap

 

Nommez votre sortie, puis rentrez dans le schéma du composant tMap (Image 10)

mappage tmap

Il ne vous reste qu'à gérer les jointures et destinations (commencez par lier vos tables en entrée), puis à exécuter votre job.

Liens ou pièces jointes
Télécharger ce fichier (address.sql)address.sql[Table address]3833 Ko
Télécharger ce fichier (countries.sql)Countries[Table SQL des pays du monde]21 Ko
Télécharger ce fichier (Cours-Talend-Eric-Quinton-2015-CC.pdf)Présentation de Talend Open Studio[PDF du cours d'Éric Quinton (IRSTEA), diffusé en 2015 grâce au réseau RBDD (CNRS) - Licence CC]789 Ko
Télécharger ce fichier (customer.sql)customer.sql[Fichier d'import SQL d'une base de contacts humains]75 Ko
Télécharger ce fichier (mes_adresses.txt)mes_adresses.txt[Table mes_adresses]0.2 Ko
Télécharger ce fichier (mes_clients.txt)mes_clients.txt[Table mes_clients]0.2 Ko
Télécharger ce fichier (mes_personnes.txt)mes_personnes.txt[Table mes_personnes]0.2 Ko
Télécharger ce fichier (person.sql)person.sql[Table person]3050 Ko
Télécharger ce fichier (society_coords.sql)society_coords.sql[Table society_coords]4 Ko
Télécharger ce fichier (warehouse_customer.sql)warehouse_customer.sql[Fichier d'import SQL d'une base entrepôt vide]1 Ko