Le Job enfant va lire des données d'un fichier texte, alimenter le nombre total de lignes et passer les lignes 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 va contenir les composants suivants :
- un tFileInputDelimited pour lire les 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 composant tFileInputDelimited pour ouvrir sa vue Basic settings. Renseignez le champ File name/Stream avec le chemin d'accès in.txt et le champ Header avec 1.
- Cliquez sur le bouton [...] près de Edit schema pour ouvrir l'éditeur du schéma. Définissez-le en ajoutant deux colonnes, id de type Integer et name de type String.
- Double-cliquez sur le composant tFixedFlowInput et créez 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")).