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 07/10/2011, 12h09   #1
Invité de passage
 
Homme
Responsable d'exploitation informatique
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : 0
Points : 0
Par défaut Talend: pb de syntaxe pour un tmap

Bonjour
Merci de prendre un peu de temps à mon pb.
J'ai un fichier pour lequel je veux faire un check de données
dans ce fichier je voudrais, pour un code identique en colonne 1, vérifier que le nom en colonne 2 est identique
par example
colonne 1 colonne 2
a a
b b
a c
la troisieme ligne est fausse car je n'ai pas la meme valeur en 'colonne 2' pour une valeur 'a' en 'colonne 1'

Merci de votre aide
stefanem78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 13h16   #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
Salut,

Pour ce que tu cherches à faire il suffit de rajouter un filtre à la sortie de ton tMap avec le code suivant ( je suppose que tes colonnes sont de types String ) :

Code :
row1.colonneA.equals(row1.colonneB)
Pour rajouter un filtre à la sortie, dans le schéma de sortie de ton tMap tu cliques sur le flêche avec un "plus" en vert.
__________________
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 07/10/2011, 13h24   #3
Invité de passage
 
Homme
Responsable d'exploitation informatique
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : 0
Points : 0
Salut Haskouse,
En fait j'ai oublié de précisé que ma colonne 1 etait du numeric, et la colonne 2 du text
a savoir que la colonne 1 est un code, et la colonne 2 est la desciption du code
Je veux vérifier que j'ai toujours 1 decription unique pour 1 code
stefanem78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 13h45   #4
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
Essai d'être plus clair en donnant un exemple concret.
__________________
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 07/10/2011, 14h14   #5
Invité de passage
 
Homme
Responsable d'exploitation informatique
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : 0
Points : 0
voici mon fichier en entrée
colonne 1 ~ colonne 2
12110 ~ BPDL Contact
12310 ~ BPDL Quartier

je dois toujours avoir pour le code 12110 le libellé BPDL Contact
et pour le code 12310 le libellé BPDL Quartier
Si dans le fichier le job vois autre chose pour le code 12110 il faut rejetter la ligne
stefanem78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 14h50   #6
Membre du Club
 
Inscription : janvier 2010
Messages : 74
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 74
Points : 43
Points : 43
Par défaut Talend: pb de syntaxe pour un tmap

Bonjour,

je ne pense pas que fichier contienne que deux lignes et deux valeurs associées. Aussi est-il judicieux de créer une table de référence (code+"-"+libelle).
dans le fichier sur lequel le traitement est effectué faire la même chose .
mapper ensuite les deux tables.

cordialement
andre94200 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 14h59   #7
Invité de passage
 
Homme
Responsable d'exploitation informatique
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : 0
Points : 0
effectivement les fichiers ont plusieurs lignes, et le codes + descriptions ne sont jamais les mêmes en fonction des fichiers, cepourquoi je ne peux pas me servir d'une table de reference
sous sql ca aurait ete simple de géré ce cas, mais sous talend je suis un peu perdu
stefanem78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 15h14   #8
Membre du Club
 
Avatar de jnbarthas
 
Homme
Ingénieur développement logiciels
Inscription : août 2011
Messages : 49
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : août 2011
Messages : 49
Points : 64
Points : 64
pourquoi pas le faire en SQL dans Talend?
Vous pouvez contrôler les flux dans un tMap (pensez à l'option de rechargement du flux à chaque fois si pas 1 million de lignes).
une jointure inner join pour rejeter les erreur et ça devrait marcher.
C'est quoi votre critère de contrôle SQL?
jnbarthas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 15h24   #9
Invité de passage
 
Homme
Responsable d'exploitation informatique
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : 0
Points : 0
sous sql j'aurais fais un
select distinct colonne 1, count(colonne 2)
from [matable]
group by colonne 1
having count (colonne 2) > 2
stefanem78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 15h42   #10
Membre du Club
 
Avatar de jnbarthas
 
Homme
Ingénieur développement logiciels
Inscription : août 2011
Messages : 49
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : août 2011
Messages : 49
Points : 64
Points : 64
j'ai du mal à suivre avec le départ
12110 ~ BPDL Contact
12310 ~ BPDL Quartier

Définissez un schéma à 2 entrées pour cette requête SQL.
Vous pouvez utiliser les variables locales du tMap pour récupérer les valeurs du result set et faire des contrôles supplémentaires si nécessaire (après jointure avec le flux principal...sur l’élément du select distinct) pour valider enfin OU NON (critère de filtre ou rejet de jointure) vers le flux de sortie...

Repartir d'un exemple complet d'un bout à l'autre du traitement est plus facile pour valider le principe. Vous pourrez alors peut être aussi voir l'idée (soulevée dans les autres posts) de générer un fichier (ou table) de référence à partir des informations initiales.

Bonne continuation
jnbarthas 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 01h15.


 
 
 
 
Partenaires

Hébergement Web