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 27/10/2011, 17h25   #1
Invité régulier
 
Inscription : janvier 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 22
Points : 6
Points : 6
Par défaut Sortie tFlowToIterate vers 2 Requetes Oracle

Bonsoir la communauté,

Je vais essayer d'être le plus clair possible.
Je possède une base de données sous MySQL.
Dans cette base, je possède une table. Cette table contient des identifiants d'autres tables d'autres bases.

Je souhaite créer un job qui récupère les identifiants contenus dans ma table MySQL, et va ensuite piocher les informations dans les autres bases. Et pour finir je souhaite tout mettre dans un même fichier.


Exemple :

Dans ma base MySQL :
SELECT roue_id, capot_id
FROM referencement;
Ensuite, dans une base Oracle :
SELECT * FROM roue WHERE id = roue_id
Ensuite, dans une autre base Oracle :
SELECT * FROM capot WHERE id = capot_id
Et donc j'aimerai à la fin obtenir dans un fichier, toutes les caractéristiques de la roue et du capot.

Pour faire ça, sous Talend, j'ai créé une requete MySQL, que j'ai lié à un tFlowToIterate, qui lui est lié à 2 requetes Oracle.

Je m'étais dit, après tu mets un tMap pour relier les 2 requetes et hop ça serait parfait. Et bien ça ne fonctionne pas.. enfin je ne peux pas relier les 2 à la tMap. Pour le moment j'ai mis 2 tlogRow, et j'ai bien les résultats que je souhaite.

Je sais pas si j'ai été clair ou non?
Merci de votre lecture et de votre aide.
Skycer666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 10h11   #2
Membre Expert
 
Avatar de haskouse
 
Homme Mustapha EL HASSAK
Ingénieur développement logiciels
Inscription : août 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Mustapha EL HASSAK
Âge : 26
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : août 2009
Messages : 627
Points : 1 514
Points : 1 514
En effet tu ne pourras pas relier tes deux liens dans un seul et unique tMap, je suis déjà tombé dans ce cas de figure, tu pourrais essayer un tJoin ou bien un tUnite mais je doute aussi que ça marche.

Je ne sais pas si l'ordre dans lequel tu veux stocker les données dans le fichier a de l'importance ou non mais tu pourrais faire deux sous-job distincts, le premeir cherche la roue et la stocke, et le deuxième cherche le capot et le stocke, tu lieras les deux jobs avec un "OnsUbJobOk", la contrainte c'est que tu stockeras les informations de la roue puis celles du capot. En fait ça dépendra du fait que l'ordre de stockage des infos est obligatoire ou non.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui)

Mes articles publiés
haskouse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 10h23   #3
Invité régulier
 
Inscription : janvier 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 22
Points : 6
Points : 6
Et bien en effet, j'ai besoin que les données du capot et de la roue soit liées car j'effectue dessus des opération.

J'aurai besoin d'obtenir un fichier du type :

Nbre Roue | Nbre Capot | Ratio
4 37 4/37
18 3 18/3

Et une autre question, comment fonctionne le OnSubjobOk !?
Skycer666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 11h25   #4
Invité régulier
 
Inscription : janvier 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 22
Points : 6
Points : 6
Bon, j'ai trouvé une solution grâce à toi haskouse.

2 sous jobs.
Chacun enregistre le résultat de sa requete dans un fichier séparé.
Ensuite, je relis ces 2 fichiers à partir d'un tmap. Dans ces 2 fichiers il y a un identifiant unique commun pour chaque ligne. Donc je fais la jointure des 2 fichiers grâce à cette identifiant.

Et ensuite je crée mon fichier.
Skycer666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 14h27   #5
Membre Expert
 
Avatar de Bktero
 
Inscription : juin 2009
Messages : 782
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : juin 2009
Messages : 782
Points : 1 307
Points : 1 307
Les fichiers temporaires paraissent la solution la plus simple, mais si elle peut être plus couteuse.

J'ai moi aussi une fois voulu faire arriver deux entrées dans un tMap.... Je pense que Talend n'arrive pas à déterminer le flow d'exécution pour arriver à un même composant après l'exécution en parallèle de 2 traitements.
__________________
Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^

Pour vos problèmes d'embarqué, utilisez le forum dédié !
Bktero 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 05h49.


 
 
 
 
Partenaires

Hébergement Web