Scénario 2 : Exécuter une liste de Jobs fils de manière dynamique - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
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 Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Ce scénario décrit un Job qui appelle deux Jobs fils de manière dynamique. Lorsqu'ils sont appelés par le Job père, chacun des Jobs fils affiche un message dans la console.

Configurer les Jobs fils

  1. Créez un Job nommé child_1 et ajoutez deux composants en tapant leur nom dans l'espace de modélisation graphique ou en les déposant depuis la Palette :

    • un tFixedFlowInput, afin de générer un message et

    • un tLogRow, afin d'afficher le message généré dans la console.

  2. Reliez le tFixedFlowInput au tLogRow à l'aide d'un lien Row > Main.

  3. Double-cliquez sur le tFixedFlowInput afin d'ouvrir sa vue Basic settings.

  4. Cliquez sur le bouton [...] à côté du bouton Edit schema afin d'ouvrir la boîte de dialogue [Schema] et définir la schéma d'entrée.

    Dans cet exemple, le schéma a une seule colonne : Message (de type String).

    Une fois le schéma défini, cliquez sur OK afin de fermer l'éditeur. Dans la boîte de dialogue qui s'affiche, cliquez sur Yes afin de propager les changements au composant suivant.

  5. Cochez la case Use Inline Content et, dans le champ Content, saisissez le message que vous souhaitez afficher dans la console, Hello World! dans cet exemple.

  6. Dans la vue Basic settings du tLogRow, sélectionnez le mode Table afin d'afficher le résultat de l'exécution sous forme de tableau.

  7. Créez une copie de ce Job et nommez-le child_2. Dans le champ Content du tFixedFlowInput, saisissez un autre message, Hello Talend! dans cet exemple.

  8. Appuyez sur Ctrl+S afin de sauvegarder les Jobs.

Configurer le Job père

Ajouter et relier les composants

  1. Créez un nouveau Job et ajoutez les composants suivants en tapant leur nom dans l'espace de modélisation graphique ou en les déposant depuis la Palette :

    • un tFixedFlowInput, afin de définir dynamiquement la liste des Jobs à appeler,

    • un tFlowToIterate, afin d'effectuer une itération sur les lignes en entrée et stocker le contenu dans une variable globale d'itération et

    • un tRunJob, afin de charger et exécuter les Jobs fils.

  2. Reliez le tFixedFlowInput au tFlowToIterate à l'aide d'un lien Row > Main.

  3. Reliez le tFlowToIterate au tRunJob à l'aide d'un lien Row > Iterate.

Configurer les composants

  1. Double-cliquez sur le tFixedFlowInput afin d'ouvrir sa vue Basic settings.

  2. Cliquez sur le bouton [...] à côté du champ Edit schema afin d'ouvrir la boîte de dialogue [Schema] et définir le schéma d'entrée.

    Dans cet exemple, le schéma a une seule colonne : Job (de type String).

    Une fois le schéma défini, cliquez sur OK afin de fermer l'éditeur. Dans la boîte de dialogue qui s'affiche, cliquez sur Yes afin de propager les changements au composant suivant.

  3. Cochez la case Use Inline Content et, dans le champ Content, spécifiez le nom des Jobs fils qui sont appelés par le Job père :

    child_1
    child_2
  4. Double-cliquez sur le tRunJob afin d'ouvrir sa vue Basic settings.

  5. Cochez la case Use dynamic job.

  6. Cliquez dans le champ Context job, appuyez sur Ctrl+Espace et, dans la liste de variable, sélectionnez la variable d'itération créée par le composant tFlowToIterate, Job dans cet exemple. Le champ Context job contient à présent ((String)globalMap.get("row1.Job")). A chaque itération, cette variable est remplacée par le nom du Job appelé.

  7. Cliquez sur le bouton [...] à côté du champ Job afin d'ouvrir la boîte de dialogue [Select Job]. Sélectionnez tous les Jobs que vous souhaitez exécuter et cliquez sur OK afin de fermer la boîte de dialogue.

  1. Appuyez sur Ctrl+S afin de sauvegarder le Job.

  2. Appuyez sur F6 ou cliquez sur le bouton Run de la console Run afin d'exécuter le Job.

    Les Jobs fils sont appelés l'un après l'autre et les messages spécifiés dans les Jobs fils sont affichés dans la console.