Le Job enfant lit des données d'un fichier texte, alimente le nombre total de lignes et les passe au Job parent.
Le fichier d'entrée, nommé in.txt, se présente comme suit :
id;name
1;Shong
2;Elise
3;Sabrina
Ce Job utilise les composants suivants :
- un tFileInputDelimited pour lire des données d'un fichier texte et un tLogRow pour les afficher dans la console,
- un tFixedFlowInput pour obtenir le nombre total de lignes lues par le tFileInputDelimited et un tBufferOutput pour mettre la valeur en mémoire tampon.
Procédure
- Créez un Job et nommez-le childJob.
- Ajoutez un tFileInputDelimited et un tLogRow dans l'espace de modélisation graphique et reliez-les à l'aide d'un lien .
- Ajoutez un tFixedFlowInput et un tBufferOutput dans l'espace de modélisation graphique et reliez-les à l'aide d'un lien .
- Reliez le premier sous-Job au second à l'aide d'un lien .
- Cliquez sur le tFileInputDelimited pour ouvrir sa vue Basic settings. Dans le champ File name/Stream, saisissez le chemin d'accès au fichier in.txtet dans le champ Header, définissez 1 ligne d'en-tête.
- Cliquez sur le bouton [...] près de Edit schema pour ouvrir la boîte de dialogue du schéma et définissez-le en ajoutant deux colonnes, id de type Integer et name de type String.
- Double-cliquez sur le composant tFixedFlowInput pour créer une colonne nommée nb_line, de type Integer.
- Dans la zone Mode, sélectionnez Use Single Table et renseignez la cellule Value avec ((Integer)globalMap.get("tFileInputDelimited_1_NB_LINE")).