Configurer le Job parent - 7.3

Système

Version
7.3
Language
Français (France)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Systèmes tiers > Composants System
Gouvernance de données > Systèmes tiers > Composants System
Qualité et préparation de données > Systèmes tiers > Composants System

Procédure

  1. Créez un Job nommé ParentJob et ajoutez un composant tFileInputDelimited, un tFlowToIterate, un tRunJob et deux tJava.
  2. Reliez le composant tFileInputDelimited au tFlowToIterate à l'aide d'un lien Row > Main. Reliez le tFlowToIterate au second tJava à l'aide d'un lien Row > Iterate. Reliez le second tJava au premier tJava à l'aide d'un lien Trigger > Run if. Reliez le second tJava au tRunJob à l'aide d'un lien Trigger > Run if.
  3. Double-cliquez sur le tFileInputDelimited afin d'ouvrir sa vue Basic settings.
    • Cliquez sur le bouton [...] près de Edit schema et, dans la boîte de dialogue qui s'ouvre, définissez le schéma des données d'entrée en ajoutant deux colonnes : Job_Name de type String et Execute de type Boolean. Cela fait, cliquez sur OK pour fermer la boîte de dialogue.
    • Cliquez sur le bouton [...] près du champ File name/Stream. Naviguez jusqu'au dossier dans lequel se trouve le fichier File_For_Execute.txt, puis sélectionnez le fichier.
    • Saisissez le caractère utilisé pour séparer les champs dans le fichier File_For_Execute.txt, dans le champ Field Separator ("," dans cet exemple).
    • Configurez le champ Header à 1.
  4. Sélectionnez le lien entre deux composants tJava. Saisissez ce qui suit dans le champ Condition de la vue Component afin de capturer les Jobs rejetés :
    !((Boolean)globalMap.get("row1.Execute"))
  5. Sélectionnez le lien entre le composant tJava_2 et le composant tRunJob_1. Saisissez ce qui suit dans le champ Condition dans la vue Component afin de déclencher l'exécution des Jobs dont le champ Execute est true :
    ((Boolean)globalMap.get("row1.Execute"))
  6. Double-cliquez sur le tRunJob afin d'ouvrir sa vue Basic settings.
    • Cochez la case Use dynamic job et, dans le champ Context job qui s'affiche, appuyez sur les touches Ctrl+Espace. Dans la liste des variables, sélectionnez la variable globale itérative créée par le tFlowToIterate, tFlowToIterate_1.Job_Name dans cet exemple. Le champ Context job est ensuite renseigné avec ((String)globalMap.get("row1.Job_Name")). À chaque itération, cette variable sera résolue comme le nom du Job à appeler.
    • Cliquez sur le bouton [...] à côté du champ Job et, dans la boîte de dialogue [Select Job], sélectionnez tous les Jobs que vous souhaitez exécuter. Cliquez sur OK pour fermer la boîte de dialogue. Dans cet exemple les Jobs vont de ChildJob1 à ChildJob5.
  7. Double-cliquez sur le composant tJava_1 pour ouvrir sa vue Basic settings. Saisissez ce qui suit dans le champ Code afin d'enregistrer les Jobs enfants rejetés.
    System.out.println("----------------------------------");
    System.out.println("MESSAGE : " + ((String)globalMap.get("row1.Job_Name")) + " JOB hasn't been selected for execution ... ");
    System.out.println("----------------------------------");