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 18/04/2011, 10h42   #1
Invité régulier
 
Inscription : août 2010
Messages : 53
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 53
Points : 6
Points : 6
Par défaut Mise a jour des imports avec Talend

Bonjour,
je me suis mis dernièrement à Talend pour mon stage et je trouve que c'est un outil très puissant. seulement je n'arrive pas à faire une chose avec et je ne sais pas si c'est possible.
En effet je dois gérer des imports de fichiers CSV.c'est à dire supposons que j'importe un fichier 'A' à T1 avec les colonnes suivantes

utilisateur | voiture associé
David | BMW

à T2 j'importe un fichier 'B' qui est une mise a jour de 'A' ou il y'a

utilisateur | voiture associé
David | MERCEDES

comment pouvoir mettre a jour ma table sans rajouter une ligne c'est à dire écraser la valeur existante en faisant des tests sur les colonnes ?
skouza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 12h47   #2
Nouveau Membre du Club
 
Jef Lehembre
Consultant en Business Intelligence
Inscription : mars 2011
Messages : 41
Détails du profil
Informations personnelles :
Nom : Jef Lehembre
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : mars 2011
Messages : 41
Points : 34
Points : 34
Il te faut pour cela faire une Mise à Jour. (UPDATE)

Pour faire une mise à jour, il te faut une clé de Mise à jour. Cad un identifiant unique pour chaque ligne. Il faut donc que tu définisses cette clé.

Dans ton exemple, il te faudra rajouter une colonne avec un id, parce que des David ayant une BMW il peut y en avoir un grand nombre!

tu me suis? Quel est exactement le schéma de ta table?
Croaker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 11h13   #3
Invité régulier
 
Inscription : août 2010
Messages : 53
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 53
Points : 6
Points : 6
Merci pour la réponse.
en faite il s'agit d'un très grand schéma (celle de l'entreprise ou je fait mon stage) et je dois faire des imports a des fichiers seulement les informations dans ces fichiers sont variable entre T1 et T2

par exemple j'ai 3 table dans ma base :

-utilisateur(idutil,nom,prenom)
-voiture(idvoiture,matricule,...)
-affectation_util_voiture(idutil,idvoiture,date_deb_affect,date_fin_affect)
et a T1 on a dans le fichier à importer :

3 colonnes :

nom | prenom | matricule
hex | davix |05 hx 101

donc moi ce que je fait c'est que j'importe ce fichier dans une table temporaire qui contient les informations du fichiers plus d'autres informations venant de l'interface comme les dates. et puis je dois éclater ces informations sur les tables citées avant toute en gardant les relations .
j'arrive a faire cela.le problème qui se pose c'est :
par exemple après le 1er import on a :

utilisateur(1,hex,david)
voiture(2,05 hx 101)
affectation_util_voiture(1,2,20/05/2008,20/05/2010)

le 2ème fichier a importer a T2 :
on a
nom | prénom | matricule
hex | davix |121 Hsd 2011

je veux pouvoir vérifier les dates (qui sont entré manuellement) mais pour cette utilisateur avant d'effectuer des changement sur la date ou sur la voiture : par exemple si la nouvelle date saisie est inférieur a la date précédente garder la précédente sinon l'écraser avec la nouvelle. ce genre d'opérations
J'espère que je me suis bien exprime
Merci pour votre aide
skouza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 09h35   #4
Membre habitué
 
Avatar de bbl22
 
Inscription : février 2009
Messages : 114
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 114
Points : 112
Points : 112
Bonjour,

JE ne sais pas avec quel SGBD tu travailles, tu peux faire des IF ou des CASE WHEN directement dans ta requête.
par exemple : select liste_champs, case date_saisie<date1 then date1 ELSE date2 end as date from ta_table.

Puis tu envoie tout ça dans ta nouvelle table.

Si tu ne veux pas utiliser la requête tu peux faire cela dans le tMap avec une expression du genre ( case date_saisie<date1)? date1 :date2

Merci
__________________
bbl MeMa
bbl22 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 04h58.


 
 
 
 
Partenaires

Hébergement Web