
Famille de composant | Orchestration | |
Fonction | Le composant tIterateToFlow transforme une liste en flux de données pouvant être traité. | |
Objectif | Ce composant permet de transformer des données non traitables en flux traitable. | |
Basic settings | Schema et Edit Schema |
Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant. Le schéma est soit local (built-in) soit distant dans le Repository. Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend. Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :
|
|
| Built-in : Le schéma est créé et conservé pour ce composant uniquement. Voir également le Guide utilisateur du Studio Talend. |
|
|
Repository : Le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisable dans divers projets et Job designs. Voir également le Guide utilisateur du Studio Talend. |
| Mapping | Column :Saisissez le nom des colonnes à créer. Value : Appuyez sur Ctrl+Espace pour accéder à toutes les variables disponibles soit globales soit celles que vous avez définies. |
Advanced settings | tStatCatcher Statistics | Cochez cette case pour collecter les données de log au niveau du composant. |
Global Variables |
ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option. Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant. Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser. Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend. | |
Utilisation | Ce composant n'est pas un composant de début (fond vert) et requiert un composant de sortie. | |
Connections | Liens de sortie (de ce composant à un autre) : Row : Main. Trigger : Run if, OnComponentOk, OnComponentError.
Liens d'entrée (d'un autre composant à celui-ci) : Row : Iterate.
Pour plus d'informations concernant les liens, consultez le Guide utilisateur du Studio Talend. |
Le scénario suivant décrit un Job permettant de faire une boucle sur une liste de fichiers, de récupérer leur nom, ainsi que la date en cours, pour ensuite transformer ces données en un flux qui sera affiché dans la console.

Cliquez et déposez les composants suivants : tFileList, tIterateToFlow et tLogRow.
Connectez le tFileList au tIterateToFlow à l'aide d'un lien Iterate et connectez le Job au composant tLogRow à l'aide d'un lien Row Main.
Dans la vue Component du composant tFileList, donnez le chemin d'accès au répertoire contenant la liste de fichiers.

Dans cet exemple, les fichiers sont trois fichiers .txt simples stockés dans le répertoire Countries.
Dans la liste Case sensitive, sélectionnez No (Non) pour ne pas tenir compte de la casse.
Sélectionnez le composant tIterateToFlow et cliquez sur Edit Schema pour modifier le nouveau schéma.

Ajoutez deux nouvelles colonnes : Filename de type String et Date de type date. Assurez-vous d'avoir paramétré le bon modèle en Java.
Cliquez sur OK pour valider.
Une boîte de dialogue s'ouvre et vous demande si vous souhaitez propager les changements. Cliquez sur Yes (Oui).
Notez que ce nouveau schéma apparaît dans le tableau Mapping.

Dans chaque cellule de la colonne Value, appuyez sur Ctrl+Espace pour accéder à la liste des variables globales et à celles que vous avez définies.
Pour la colonne Filename, utilisez la variable globale :
tFileList_1CURRENT_FILEPATH
. Elle reprend le chemin d'accès courant pour recueillir le nom de chaque fichier, le Job fait une boucle sur ce répertoire.Pour la colonne Date, utilisez la routine Talend :
TalendDate.getCurrentDate()
.Dans la vue Component du composant tLogRow, cochez la case Print values in cells of a table.
Enregistrez votre Job et exécutez-le, en appuyant sur F6.

Le chemin d'accès apparaît dans la colonne Filename et la date en cours apparaît dans la colonne Date.