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 10/02/2011, 15h59   #1
Membre Expert
 
Avatar de Bktero
 
Inscription : juin 2009
Messages : 770
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 : 770
Points : 1 290
Points : 1 290
Par défaut Mixer deux main row en une

Bonjour,

Dans mon programme, je souhaite lire deux fichiers CSV et "mélanger" leurs contenus dans un 3e fichier. Le mélange pourraient être de prendre un élément de l'un et un élément de l'autre de manière systématique, de mettre un élément de l'un en fonction de la valeur d'un champ de l'autre... En gros, un des fichiers contient les données ; le second est un fichier de conversion me donnant le format du fichier de sortie.

Mon idée de base était de lire les 2 fichiers, avec des composants tFileInputDelimited, de relier les deux row de type main à un tMap, de faire les traitements dans ce tMap, et enfin de mettre la sortie principale du tMap dans un tFileOutputDelimited.

Problème : impossible de mettre deux lignes principales en entrée d'un tMap : l'un des lignes doit être de type "lookup", mais elle n'est pas porteuse de données d'apres ce que j'ai pu constaté (aucune valeur dans mon fichier de sortie pour les éléments mappés depuis cette ligne "lookup").

Je galère depuis un moment, je ne trouve pas d'idées, alors je suis venu voir si vous en aviez que moi

Merci d'avance pour votre aide !
__________________
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
Vieux 10/02/2011, 17h52   #2
Membre Expert
 
Avatar de Benoit_Durand
 
Benoit Durand
Consultant en Business Intelligence Freelance
Inscription : mars 2005
Messages : 812
Détails du profil
Informations personnelles :
Nom : Benoit Durand
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Consultant en Business Intelligence Freelance

Informations forums :
Inscription : mars 2005
Messages : 812
Points : 1 084
Points : 1 084
Citation:
Envoyé par Bktero Voir le message
de mettre un élément de l'un en fonction de la valeur d'un champ de l'autre...
Pour moi ça c'est effectivement un lookup dans un tmap

Citation:
Envoyé par Bktero Voir le message
Le mélange pourraient être de prendre un élément de l'un et un élément de l'autre de manière systématique
La je n'ai pas tout compris. Peut être moyen de passer par une fausse jointure dans le tmap ou des variables globales.

dans tous les cas serait-il possible de charger vos données dans des tables temporaires pour faire des inner join, left join, full join, union ... et toute la cuisine que vous souhaitez ?
__________________
Pensez à la fonction Recherche
Benoit_Durand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2011, 14h09   #3
Membre Expert
 
Avatar de Bktero
 
Inscription : juin 2009
Messages : 770
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 : 770
Points : 1 290
Points : 1 290
Bonjour

Le problème est que l'entrée numéro 2 ne sert pas forcément qu'à tester les valeurs de l'entrée numéro 1. J'ai besoin de récupérer certains des champs de cette entrée.

Pour les tables temporaires, ça n'ennuierait de devoir modifier le schéma de la BDD pour créer des tables de travail...

Je n'ai pas eu le temps de revenir sur le développement de ce job, j'ai eu des tâches plus prioritaire depuis. L'idée retenue était de tout mettre dans la GlobalMap, même si c'est assez lourd à gérer. Je verrais quand je reprendre mon développement si je trouve une meilleure solution.

Merci pour votre réponse.
__________________
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
Vieux 18/02/2011, 16h37   #4
Membre émérite
 
Homme Nicolas Saumande
Architecte Décisionnel
Inscription : février 2008
Messages : 693
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Saumande
Âge : 36
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte Décisionnel

Informations forums :
Inscription : février 2008
Messages : 693
Points : 879
Points : 879
Citation:
Envoyé par Bktero Voir le message
Le problème est que l'entrée numéro 2 ne sert pas forcément qu'à tester les valeurs de l'entrée numéro 1. J'ai besoin de récupérer certains des champs de cette entrée.
C'est bien à ça que sert un lookup sur un tMap.

Nicolas
DevNico est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h55.


 
 
 
 
Partenaires

Hébergement Web