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 :

Passer des arguments à des job talend


Sujet :

Développement de jobs

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Passer des arguments à des job talend
    est it possible de passer des paramètre à des jobs talend en argument ...?

  2. #2
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    Bonsoir,

    effectivement tu peux le faire. Voici la méthode :

    tu créées des variables de contexte dans ton job fils et dans ton job maitre où tu utilises un tRunJob, cliques sur le tRunJob, va dans l'onglet Component.

    Là tu as un tableau "parameters | Values". Il te suffit de cliquer sur la petite croix verte en bas du tableau de choisir ta variable de context avec une valeur et le tour est joué.
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    merci pour ta réponse mais ca me boude encore ...
    j'ai crée 2 variables de contexte dans chaque job mais pour le "+" dans le tRunjob est grisé je ne peux rien ajouter a ce tableau ... .. mais j'utilise les variables dans le sub-job en cochant "transmit the whole context"

  4. #4
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    Ton "plus" est grisé car tu n'as pas du enregistrer ton job avant de revenir sur ton job maitre.
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    si si ... c'est fait ...
    bon une autre question peut un peu hors sujet du forum ... est il possible, de transmettre un argument en utilisant SapagoBI ...

  6. #6
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Points : 6 506
    Points
    6 506
    Par défaut
    Je viens de faire le texte en utilisant "Transmit whole context" et en chargeant directement la variable.

    Tu peux faire un teste en chargeant les jobs dans la pièce jointe.

    Tiens moi au courant si cela fonctionne.

    Par contre je ne sais pas ce que c'est que c'est que SapagoBI désolé.
    Fichiers attachés Fichiers attachés
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 44
    Points : 26
    Points
    26
    Par défaut
    Bonjour,
    Je me permet de relancer cette discussion pour élargir un peu la réponse.

    La solution donnée par jsd03 permet de passer des paramètres d'un job père vers un job fils.

    Mais comment faire pour, dans un job père, récupérer un élément d'un job fils (dans mon cas, le pid) et ensuite le passer à un second job fils ?

    Merci de vos réponses.

  8. #8
    Membre éprouvé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Février 2008
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte Décisionnel

    Informations forums :
    Inscription : Février 2008
    Messages : 866
    Points : 1 260
    Points
    1 260
    Par défaut
    Il n'est pas possible de passer des paramètres depuis un job fils vers son job père.
    Tu peux néanmoins utiliser les objets buffers pour récupérer des informations venant du job fils, comme décrit dans ce thread :
    http://www.developpez.net/forums/d92...fant-job-pere/

    Une petite remarque : est-ce qu'il ne serait pas plus simple d'utiliser le pid du père si tu souhaites que les 2 fils aient la même information ?

    Nicolas

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 44
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par DevNico Voir le message
    Une petite remarque : est-ce qu'il ne serait pas plus simple d'utiliser le pid du père si tu souhaites que les 2 fils aient la même information ?
    Non !

    En gros, le second job est un job de supervision qui va aller dans la table des stats talend pour exploiter ce qu'a fait le premier job (durée du job, etc...)

    Au début, j'ai essayé d'inclure le second dans le premier avec un composant postJob mais cela ne fonctionne pas car malgré la signification du mot "post" (après), le traitement est inclus dans le premier job et n'a donc pas accès à la ligne de fin.

    C'est pour cela que je me retrouve à faire un job père qui lance d'abord le premier puis avec un postjob lance le second qui va récupérer les temps d'exécution du premier pour les exporter vers une console de supervision tierce. Souci, le second attend en entrée le pid du job qu'il doit rechercher dans la table des stats. Voilà tout le problème.

    Clair et simple non ?

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 247
    Points : 277
    Points
    277
    Par défaut
    Bonjour,

    J'ai peut être une idée pour t'aider, mais malheureusement, je n'ai pas Talend sous la main pour tester ce que je vais te proposer, alors je m'en excuse par avance si ça ne fonctionne pas.

    Tu crées dans ton job père, une variable de contexte pid_fils (par exemple) qui sera alimentée en faisant remonter le pid de ton job fils, dans ton job père, via la fonciton pid et un tBuffer.

    Ensuite, tu passes cette variable de contexte à ton second job fils, et ça devrait te permettre de récupérer les informations que tu souhaites.

    Bonne continuation.

  11. #11
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    J'ai rencontré une problématique similaire... pour résoudre celle-ci, j'ai créé un ensemble de routines StaticMap qui sont une extension du concept de le "globalMap".

    Ces routines s'appuyant sur une Map statique, les informations sont partagées et accessible par l'ensemble des jobs et sous-jobs.

    Si à la fin du sous-job, tu enregistres le temps d'exécution dans cette Map, l'information sera disponible après dans le job parent et dans le deuxième job fils.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  12. #12
    Membre éprouvé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Février 2008
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte Décisionnel

    Informations forums :
    Inscription : Février 2008
    Messages : 866
    Points : 1 260
    Points
    1 260
    Par défaut
    Pour info, de mon coté j'ai géré cette problématique en utilisant la sortie du composant tStatCatcher dans un tMap.
    Ensuite on peut faire ce qu'on veut des données en sortie de ce composant, notamment récupérer le process_id par exemple pour l'utiliser en paramètre d'un autre traitement.

    Il faut gérer le fait que le tStatCatcher génère 2 lignes : une au début du traitement et une à la fin. Il suffit donc de filtrer sur l'info message_type.

    Nicolas

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 44
    Points : 26
    Points
    26
    Par défaut
    Le problème qui me tracasse n'est peut être pas obligé de passer par là.

    J'ai donc reformulé la problématique ici

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par CyberChouan Voir le message
    J'ai rencontré une problématique similaire... pour résoudre celle-ci, j'ai créé un ensemble de routines StaticMap qui sont une extension du concept de le "globalMap".

    Ces routines s'appuyant sur une Map statique, les informations sont partagées et accessible par l'ensemble des jobs et sous-jobs.

    Si à la fin du sous-job, tu enregistres le temps d'exécution dans cette Map, l'information sera disponible après dans le job parent et dans le deuxième job fils.
    =>Bonjour CyberChouan,
    Je utilise la StaticMap depuis le début de mon projet actuel, et ça me sert bcp.
    Petite question concernant la StaticMap :
    Sais-tu si la StaticMap est adapté à un gros volume de donnée?

Discussions similaires

  1. fonction system() sous windows avec des blancs, des arguments, etc.
    Par eric1708 dans le forum Bibliothèques, systèmes et outils
    Réponses: 10
    Dernier message: 12/08/2014, 08h43
  2. Comparaison des types des arguments des règles SWRL
    Par Etudiante_Ines dans le forum Ontologies
    Réponses: 0
    Dernier message: 14/11/2013, 11h29
  3. Récuperation des valeurs des arguments
    Par adriano12 dans le forum Débuter
    Réponses: 7
    Dernier message: 30/10/2013, 09h59
  4. Portée des noms des arguments de fonctions : locale ou globale?
    Par amundsen dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/12/2008, 13h01
  5. Réponses: 1
    Dernier message: 10/05/2008, 23h36

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