Configurer les Jobs enfant - Cloud - 7.3

Guide d'utilisation du Studio Talend

Version
Cloud
7.3
Language
Français
Product
Talend Big Data
Talend Big Data Platform
Talend Cloud
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement
L'exemple ci-dessous présente comment partager une valeur entre différents Jobs via une routine précédemment définie.

Procédure

  1. Créez un Job nommé childJob1 et ajoutez-y deux composants en saisissant leur nom dans l'espace de modélisation graphique, ou en les déposant depuis la Palette dans l'espace de modélisation graphique :
    • un tFixedFlowInput pour générer un flux de données d'entrée,
    • un tJavaRow pour recevoir les données, dans lequel le Job appelle la méthode setter pour donner une nouvelle valeur à la variable.
  2. Double-cliquez sur le tFixedFlowInput pour ouvrir sa vue Basic settings.
  3. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir la fenêtre Schema et définir le schéma des données d'entrée. Dans cet exemple, le schéma contient une colonne message de type String.
  4. Dans la zone Mode, sélectionnez l'option Use Single Table et définissez la valeur correspondante pour la colonne message dans la table Values. Dans cet exemple, la valeur est "Talend".
    Remarque : Le composant tJava appelle la méthode getter et attribue la valeur de retour à une variable de type String, puis affiche la valeur de la variable dans la console.
  5. Double-cliquez sur le composant tJavaRow pour ouvrir sa vue Basic settings.
  6. Dans la zone Code, saisissez le code suivant pour ajouter la méthode setter.
    MyRoutine.setValue(input_row.name);
  7. Créez un Job nommé childJob2 et ajoutez-y un composant tJava.
  8. Double-cliquez sur le composant tJava pour ouvrir sa vue Basic settings.
  9. Dans la zone Code, saisissez le code suivant pour ajouter la méthode getter.
    String name=MyRoutine.getValue();
    System.out.println(name);