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 :

Comment récupérer le délta d'ID de 2 sources dans les 2 sens (minus)


Sujet :

Développement de jobs

  1. #1
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 013
    Points : 1 765
    Points
    1 765
    Par défaut Comment récupérer le délta d'ID de 2 sources dans les 2 sens (minus)
    Hello tout le monde,

    J'ai réussi à simuler un minus avec Tmap grace au post :
    http://www.developpez.net/forums/d70.../minus-talend/
    et http://mindmajix.com/talend/checking...ist-and-lookup
    avec un catch lookup inner join reject.

    cela me permet ainsi de récupérer les id présent dans ma source A (fichier CSV) et absente dans ma source B (dans une table). J'aimerai récupérer le delta dans l'autre sens, absente dans la source A et présente dans la source B.

    Exemple
    Source A - identifiant : 12, 15, 16, 18
    source B - Identifiant : 15, 16, 20


    Mon but en sortie du job :
    Dans un même fichier Excel
    un onglet : identifiant présent source A (et absent source B) : 12, 18
    un autre onglet : identifiant présent source B (et absent source A) : 20


    Pour faire la différence dans les 2 sens, j'ai besoin de 2 tMap. La source A est la source principal (lien main) sur un tMap, la source B est la source principal sur le 2ème tMap. En positionnant "catch lookup inner join reject" à true, j'obiens toutes les lignes qui n'ont pas de correspondance et donc les écarts.


    Les 2 sources en entrée (fichier csv et BD) des 2 tMap sont identiques. Je cherche comment éviter de les dupliquer (et même toute la chaine) pour des questions d'optimisation.

    Comment pourrais je procéder pour utiliser mes sources A et B 2 fois (chacune) par un tmap?

  2. #2
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 013
    Points : 1 765
    Points
    1 765
    Par défaut
    Je me répond à moi même, j'ai trouvé un élément qui répondrai à mon besoin treplicate comme décrit ici :
    https://www.safaribooksonline.com/li...9/ch07s08.html

    Je vais tester et je vous tiens au courant

  3. #3
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 013
    Points : 1 765
    Points
    1 765
    Par défaut
    Comme promis je vous tiens au courant.

    Il semblerait qu'il y ait une limitation de Talend avec les boucles ou je ne sais quoi.
    J'ai l'impression q'il n'est pas possible de mettre 2 Treplicate et de relier les sorties des tReplicate aux 2 tMap. Talend m'empèche de relier le dernier lien avec le 2ème Tmap
    Nom : talend1.png
Affichages : 571
Taille : 34,1 Ko

    Je me suis alors contenté de cette solution. Je duplique ma source provenant d'un fichier csv. Par contre, la source base de donnée est réplqué.
    Cela fonctionne nickel. Le delta de mes identifiants dans les 2 sens sont bien enregistrés dans mon fichier Excel.
    Nom : talend2.png
Affichages : 562
Taille : 32,3 Ko


    Maintenant je souhaiterai une liste de fichier dans un fichier
    Mais ce modèle n'a pas trop de sens. Je souhaite récupérer le delta des identifiants dans les 2 sens de chaque fichier traités.
    Nom : talend3.png
Affichages : 1059
Taille : 52,2 Ko


    J'ai alors testé de repliqué mais je ne peux pas répliqué la liste des fichiers pour ensuite traité chaque fichier 2 fois.
    Nom : talend4.png
Affichages : 554
Taille : 35,5 Ko

  4. #4
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 795
    Points : 1 685
    Points
    1 685
    Par défaut
    Pour faire simple tu n'as besoin que d'unseul tFileList
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  5. #5
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 013
    Points : 1 765
    Points
    1 765
    Par défaut
    Okay, en effet il n'y a pas besoin de relier les 2 sources de fichier comme ici :


    On récupére bien le nom du fichier avec la formule : ((String)globalMap.get("tFileList_2_CURRENT_FILEPATH")). J'ai fait le test en ajoutant cette variable dans mon 2ème tMap


    J'ai l'impression que toute les variables affecté par les éléments sont accessibles par l'ensemble des éléments du même sous job.
    mais surtout tFile liste passe à l'itération suivante une fois que tous les traitements du sous job ont été traité. Ainsi de cette manière, les 2 tMap traite bien du même fichier

    Cela me semble logique après coup.
    Merci pour ton aide, cela va pas mal m'aider.

  6. #6
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 795
    Points : 1 685
    Points
    1 685
    Par défaut
    En tout cas pour info un flux iterate qui pointe vers un lookup d'un flux c'est mal pour info
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

Discussions similaires

  1. un outil en ligne pour faire des graphiques avec les données fournies en GET ?
    Par clavier12AZQSWX dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 26/05/2014, 09h42
  2. [2008R2] Stored Procedure pour faire un select dans une autre base de données
    Par jefftardif dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/02/2014, 13h57
  3. utilisation de Tmap pour faire des calculs en talend
    Par al318203 dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 20/08/2012, 15h09
  4. Réponses: 1
    Dernier message: 21/10/2009, 17h26
  5. Récuperer les données d'un FlexGrid pour faire requete SQL
    Par Terminator dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/10/2005, 11h26

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