fbpx

Formation – Boucle itetrative

Au cours de ce tutoriel, nous allons voir comment effectuer des boucles dans un job Talend.

Pour illustrer mes propos, le job Talend définira une boucle de type 'pour' va créer un fichier pour chaque tour d'iteration.


Voici dans un premier temps le paramétrage de notre composant 'tLoop' permettant d'effectuer des boucles.

 


Afin de visualiser comment fonctionne cette boucle, je vous propose dans un premier temps d'ajouter un composant 'tJava'.

Nous allons nous en servir pour afficher un message en console. Ce message contiendra la valeur de l'itération actuelle.

Entrez cette ligne pour afficher le résultat :

System.out.println('Iteration actuelle : '+((Integer)globalMap.get('tLoop_1_CURRENT_ITERATION')));




Nous allons maintenant modifier notre job. Nous allons connecter notre 'tLoop' à un 'tFileTouch'.

Ce dernier composant permet de créer un fichier s'il n'existe pas, ou de mettre à jour les informations de dernière modifications s'il existe.

 

En terme de configuration vous devrez renseigner le fichier (avec chemin d'accès) que vous souhaitez générer.

Cependant afin d'en créer un par itération, il est important que le nom du fichier évolue à chaque tour de boucle.

Pour cela le nom du fichier doit contenir la variable globale issue du composant 'tLoop', ainsi le nom de fichier pourra être le suivant :

'Iteration_'+((Integer)globalMap.get('tLoop_1_CURRENT_ITERATION'))+'.csv'



Exécutez votre job et observez le résultat.


On voit bien que un fichier par boucle d'itération a été généré par notre job Talend.