IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

Doublons en sortie d'un tmap


Sujet :

Développement de jobs

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Doublons en sortie d'un tmap
    Bonjour,

    Je souhaite insérer des données dans 2 tables MySQL, l'ID du champ de la 1ère table est une clé étrangère (unique) de la seconde table.
    J'insère donc mes données dans la 1ère table depuis un fichier CSV et avec un tMySqlLastInsertId je récupère tous les ID de ma 1ère table.

    Le problème vient en seconde partie :
    avec un tMap je prends toujours les données de mon fichier CSV et les LastInsertId mais cela insère chaque LastInsertId à chaque ligne de données du fichier CSV.

    Par exemple les LastInsertId :
    1
    2
    3
    4
    5

    Mon fichier CSV :
    données 1
    données 2
    données 3
    données 4
    données 5

    Résultat :
    1; données 1
    2; données 1
    3; données 1
    4; données 1
    5; données 1
    1; données 2
    2; données 2
    3; données 2
    4; données 2
    5; données 2
    1; données 3
    2; données 3
    3; données 3
    4; données 3
    5; données 3
    et ainsi de suite alors que j'aimerais avoir :
    1; données 1
    2; données 2
    3; données 3
    4; données 4
    5; données 5

    Je n'ai aucune données uniques dans mon fichier CSV avant l'insertion.

    Par avance merci

  2. #2
    Membre expérimenté Avatar de Benoit_Durand
    Profil pro
    Consultant en Business Intelligence Freelance
    Inscrit en
    Mars 2005
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence Freelance

    Informations forums :
    Inscription : Mars 2005
    Messages : 861
    Points : 1 308
    Points
    1 308
    Par défaut
    Bonjour,

    Il s'agit d'un seul fichier csv pour alimenter 2 tables sql, c'est bien ça ?

    S'il existe un lien entre les 2 données, est-ce que la jointure dans le tMap (entre le fichier csv et id mysql ) est correctement faite ?
    voir la tutorial sur le site de Talend : How to set up a Join link on a Job Design
    http://www.talendforge.org/tutorials/menu.php

    si les données ont bien été insérées avant, il est possible de requêter directement sur la table avec un tMysqlInput.

    S'il n'y a pas de lien dans les données du fichier csv il est toujours possible de se baser sur le n° de ligne du fichier csv.

    cdt,
    Pensez à la fonction Recherche

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Bonjour et merci pour cette réponse rapide

    Quelques infos pour préciser :
    Oui il s'agit du même fichier pour alimenter les 2 tables : le fichier contient un "sujet" avec la description détaillée de ce sujet à insérer dans la première table et dans la seconde table je dois insérer toutes les autres infos de ce "sujet" (le titre, la date de création...) plus l'id de la description dans la 1ere table.

    Le fichier CSV contient plusieurs lignes donc à chaque insert dans la 1ère table, je récupère l'id et l'insère dans la seconde table avec les autres infos.

    Merci pour le tuto, je vais aller jeter un coup d'oeil, encore merci

    EDIT : j'ai oublié de préciser que le seul lien entre la table 1 et le fichier est la description mais elle n'est pas forcément unique dans cette table, je ne peux pas l'utiliser comme lien

  4. #4
    Membre expérimenté Avatar de Benoit_Durand
    Profil pro
    Consultant en Business Intelligence Freelance
    Inscrit en
    Mars 2005
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence Freelance

    Informations forums :
    Inscription : Mars 2005
    Messages : 861
    Points : 1 308
    Points
    1 308
    Par défaut
    La 1ere idée qui me vient (certainement pas la meilleure) serait de se servir du n° de ligne comme clé.
    insérer ce n° dans la 1ere table > faire une jointure sur ce n° pour alimenter la seconde > faire un update à vide du n° de la 1ere table en prévision du prochain lancement
    (mieux, la 3eme étape ce fait au debut du lancement suivant)

    cdt,
    Pensez à la fonction Recherche

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Je vais essayer ça tout de suite.

    Merci beaucoup pour le temps que tu m'as consacré

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Boucler sur la sortie d'un tMap
    Par caela dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 01/06/2015, 17h24
  2. Doublons en sortie
    Par Taylor08 dans le forum Général Python
    Réponses: 13
    Dernier message: 19/06/2014, 17h08
  3. Modifier la valeur d'un champ de sortie d'un tMap en fonction d'une jointure
    Par big_yuul dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 13/08/2013, 09h07
  4. commun et different en sorti d'une tMap?
    Par flash22 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 05/04/2011, 10h54
  5. TMap 3 sorties
    Par pito37 dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 29/01/2009, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo