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 15/08/2011, 01h10   #1
Membre à l'essai
 
Inscription : décembre 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 61
Points : 23
Points : 23
Par défaut Histoires de lookup et de doublons : )

Hey guys,

J’ai ici une sous partie d’un job plus fourni et complexe et la résolution de cette sous partie est sans doute très simple mais l’inspiration s’essouffle là (voir copie écran).

L’idée est de pouvoir réaliser à partir d’une seule source de flux, la saisie d’une adresse dans une table prévue à cet effet (Output_1) en pensant à réaliser un lookup avec l’option "chargé à chaque ligne" (nommé Input1) pour ne l’insérer que si elle n’existe pas déjà. Normal, c’est l’intérêt d’un lookup et ca marche. (L’intérêt du Commit étant aussi pour s’assurer qu’à la prochaine itération l’adresse saisie à l’itération précédente est bien présente dans la table).

Sauf qu’à partir de la même requête sql source je peux renvoyer une autre adresse qu’il me faut donc insérer dans la même table cible (mais matérialiser par un autre objet talend nommé Output_2) et il me faut donc employer le même mécanisme de lookup que décrit ci-dessus pour les mêmes raisons.
Or j’obtiens des saisies en doublons…
Précisions : Le select source se présente comme ca (simplifié) :
Select personne, Adresse1, Adresse2…

Je précise que j’ai déjà essayé avec un seul lookup mais sans succès, à moins qu’il y ait un moyen d’exprimer syntaxiquement dans le lookup que le champ Adresse dans la table cible soit matchée à la fois vis-à-vis d’Adresse1 et vis-à-vis d’Adresse2 (cead au niveau de la clé violette qui apparaît dans le lookup dans le tmap) ? En tout cas un simple ou logique ne fait pas l’affaire.

Donc je me dis qu'il y a surement une meilleure bonne pratique.

Ps: Ma préférence est de ne pas avoir à séparer la requête source en deux...
A moins que ce ne soit le derniers recours car cela impacterait la structure globale assez fortement, or elle est déja assez complexe et riche.

Thanx a lot in advance
Images attachées
Type de fichier : jpg ConfigurationJobTalend.jpg (33,5 Ko, 12 affichages)
bros_70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 01h38   #2
Membre à l'essai
 
Inscription : décembre 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 61
Points : 23
Points : 23
Je sais que c'est encore les vacances mais y a vraiment personne qui a une idée sur cette problématique dont la solution est probablement relativement simple ?
Je présume être simplement dans une mauvaise config, mais après plusieurs essais/changements, je suis court d'inspiration là
bros_70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 13h11   #3
Membre Expert
 
Avatar de Benoit_Durand
 
Benoit Durand
Consultant en Business Intelligence Freelance
Inscription : mars 2005
Messages : 813
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 : 813
Points : 1 085
Points : 1 085
Il faut peut être tout simplement se débrouiller pour avoir en entrée un schéma du type
personne adresse
donc si la personne a 2 adresses, il y a aura 2 lignes.
Il est possible de gérer cela au niveau du sql (union) ou un tNormalize peut faire l'affaire si vous ne souhaitez pas d'union.
__________________
Pensez à la fonction Recherche
Benoit_Durand 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 15h58.


 
 
 
 
Partenaires

Hébergement Web