Scénario 3 : Propager les données de sortie en mémoire tampon du Job fils au Job père - 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

Dans ce scénario, un Job à trois composants appelle un Job fils de deux composants et affiche dans la console les données de sortie du Job fils mises en mémoire tampon, au lieu des données du flux d'entrée du Job père.

Construire le Jobs fils

  1. Créez un Job nommé child et ajoutez deux composants en cliquant puis saisissant leur nom dans l'espace de modélisation graphique ou en les glissant de la Palette dans l'espace de modélisation graphique :

    • un tFixedFlowInput, pour générer un message,

    • un tBufferOutput, pour stocker le message généré dans la mémoire tampon.

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

  3. Double-cliquez sur le composant tFixedFlowInput pour ouvrir sa vue Basic settings.

  4. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir la boîte de dialogue [Schema] et définir le schéma des données d'entrée. Dans cet exemple, le schéma contient une seule colonne message de type String.

    Cela fait, cliquez sur OK pour valider les modifications puis sur Yes dans la boîte de dialogue [Propagate] afin de propager le schéma au composant suivant.

  5. Dans la zone Mode, sélectionnez l'option Use Single Table et définissez la valeur de la colonne message dans la table Values. Dans cet exemple, la valeur est "message from the child job".

Construire le Job père

  1. Créez un Job, ajoutez trois composants en cliquant et saisissant leur nom dans l'espace de modélisation graphique ou en les déposant de la Palette dans l'espace de modélisation graphique :

    • un tFixedFlowInput, pour générer un message,

    • un tRunJob, pour appeler le Job nommé child

    • un tLogRow, pour afficher les résultats d'exécution dans la console.

  2. Connectez le composant tFixedFlowInput au tRunJob et le tRunJob au composant tLogRow à l'aide d'un lien Row > Main.

  3. Double-cliquez sur le tFixedFlowInput pour ouvrir sa vue Basic settings.

  4. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir la boîte de dialogue [Schema] et définir le schéma des données d'entrée. Dans cet exemple, le schéma contient une seule colonne message, de type String.

    Cela fait, cliquez sur OK pour valider les modifications.

  5. Dans la zone Mode, sélectionnez l'option Use Single Table et définissez la valeur de la colonne message de la table Values. Dans cet exemple, la valeur est "message from the parent job".

  6. Cliquez sur le tRunJob puis cliquez sur l'onglet Component pour ouvrir sa vue Basic settings.

  7. Cliquez sur le bouton Sync columns puis sur Yes dans la boîte de dialogue [Propagate] afin de récupérer le schéma du composant précédent.

  8. Cliquez sur le bouton [...] à côté du champ Job pour ouvrir la boîte de dialogue [Repository Content].

    Dans la boîte de dialogue [Repository Content], sélectionnez le Job nommé child puis cliquez sur OK pour fermer la boîte de dialogue.

  9. Dans la vue Advanced settings du composant tRunJob, cochez la case Propagate the child result to the output schema. Cette case cochée, la sortie en mémoire tampon du Job fils will be propagated to the output component.

Exécuter le Job père

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

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

    Le Job fils est appelé et le message défini dans le Job fils s'affiche dans la console, à la place du message défini dans le Job père.