Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/03/2007, 18h31   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2003
Messages : 19
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 19
Points : 14
Points : 14
Par défaut [Talend Open Studio] Chargement d'une table utilisée plusieurs fois

Bonjour,

J'utilise Talend Open Studio pour extraire des données de différentes base de données (toutes MySQL) et faire du rapprochement de données.

Voilà ma problématique :
- J'ai une base de données (BD1) où je récupère une table contrat avec les champs suivants (no_contrat, no_voiture, marque, modele, annee, id_conducteur1, id_conducteur2, id_assure).
Les champs id_conducteur1, id_conducteur2, id_assure contiennent les numéros de personnes gérées dans un annuaire.

- Dans mon autre base de données (l'annuaire ANNU), j'ai une table personne avec les champs suivants (id_personne, nom, prenom, date_naissance, adresse, ville, code_postal)

Je voudrais avoir au final dans une 3ème base une table avec les champs suivants (no_contrat, marque_voiture, modele_voiture, anne_voiture, nom_conducteur1, prenom_conducteur1, date_naissance_conducteur1, nom_conducteur2, prenom_conducteur2, date_naissance_conducteur2, nom_assure, prenom_assure, date_naissance_assure).

La solution que j'ai mise en place actuellement utilise un module tMysqlInput pour la table contrat de la BD1 et trois modules tMysqlInput lier chacun à la table personne de l'ANNU.
Je dirige tout vers un tMap avec la connexion BD1 en Main et je Map tout cela avant de le faire sortir sur un tMysqlOutput.Cela marche.

Le problème est que cette méthode fait charger 3 fois la table personne de l'ANNU (soit 30 000 enregistrements), ce qui multiplie les délais.

J'aurais donc aimer savoir comment faire plus proprement avec Talend Open Studio.


Je vous remercie d'avance.

-----------------
SuPpReNd.ToS
supprend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 14h29   #2
Membre à l'essai
 
Inscription : janvier 2007
Messages : 19
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : janvier 2007
Messages : 19
Points : 21
Points : 21
Envoyer un message via MSN à CONSULTANT_SQLI
Bonjour,

D'après mes premier tests, tu n'est pas obligé de relire trois fois ta table personne lorsque tu l'utilise dans trois lookup.

Voici comment je ferai, mais cela devra être testé dans son intégralité :


Un tDBInput sur la table Contrat avec un lien main sur le tMap1
Un tDBinput sur la table Personne avec un lien Lookup sur ce tMap1 pour
l'idconducteur1


Un lien main entre le tMap1 et le tMap2
Un lien Lookup sur le tMap2 à partir de ton tDBInput sur la table Personne (le même que pour le premier lookup) pour l'idconducteur2


Un lien main entre le tMap2 et le tMap3
Un lien lookup sur le tMap3 à partir de ton tDBInput sur la table Personne pour l'idassure


Un lien Output entre ton tMap3 et la table cible

J'espère que cela pourra t'aider et t'éviter ainsi de charger trois fois la table personne.

Cordialement,
CONSULTANT_SQLI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 09h43   #3
Candidat au titre de Membre du Club
 
Inscription : juillet 2003
Messages : 19
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 19
Points : 14
Points : 14
Je teste cela au plus vite et vous remercie déjà pour votre réponse.
supprend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 12h11   #4
Candidat au titre de Membre du Club
 
Inscription : juillet 2003
Messages : 19
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 19
Points : 14
Points : 14
Par défaut Chargement d'une table utilisée plusieurs fois

Bonjour,

Ce système ne fait donc bien utiliser la table personne qu'une fois dans la description des translations.

Toutefois, la table est chargée autant de fois que de liens lookup sont faits.

Par conséquent, cela ne résout pas le problème (bizarrement cela allonge même le temps de traitement).

Mais merci quand même.

Si quelqu'un à une autre idée... je suis preneur.
supprend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2007, 11h42   #5
co2
Membre émérite
 
Avatar de co2
 
Inscription : mai 2002
Messages : 182
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 182
Points : 823
Points : 823
Envoyer un message via Skype™ à co2
Hello supprend,

Si tu as tes 3 tables dans le meme serveur de bases de données, que tu ne cherches à faire que des lookup et que tu recherches des perfs, oriente toi vers les composants ELT de Talend. Tu devrais pouvoir faire ton job avec 5 composants (3 tELTMySQLInput, tELTMySQLMap et tELTMySQLOutput) et quelques DnD.
Via ces composants, Il n'y aura ainsi aucun transfert de données entre ta base de données et ton serveur ETL dans le cas de transformation très simples.

Note : ces composants sont disponibles dans la version 2.0.0. Pour l'instant cette version en M3 (milestone3 - version de test). Elle sera en RC (Release Candidate) mardi prochain et en version stable le mardi 10 avril sur www.talend.com

Bon courage,
Cédric Carbone
Talend CTO
co2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h13.


 
 
 
 
Partenaires

Hébergement Web