
Famille de composant | File/Management | |
Fonction | Le composant tFileCompare compare deux fichiers et fournit des informations de comparaison (en fonction d'un schéma en lecture seule). | |
Objectif | Ce composant permet de contrôler la qualité des données des fichiers traités. | |
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 de ce composant est en lecture seule. |
| File to compare | Le chemin d'accès au fichier à vérifier. |
| Reference file | Le chemin d'accès du fichier sur lequel la comparaison est basé. |
| If differences are detected, display If no difference detected, display | Saisissez le message à afficher dans la console Run en fonction du résultat de la comparaison. |
| Print to console | Cochez cette case pour afficher le message saisi. |
Utilisation | Ce composant peut être utilisé en standalone mais il est généralement relié à un composant de sortie pour regrouper les informations de comparaison. | |
Connections |
Liens de sortie (de ce composant à un autre) : Row : Main. Trigger : OnSubjobOk, OnSubjobError, Run if, OnComponentOk, OnComponentError.
Liens d'entrée (d'un autre composant à celui-ci) : Row : Main, Reject, Iterate. Trigger : Run if, OnSubjobOk, OnSubjobError, OnComponentOk, OnComponentError, Synchronize, Parallelize.
Pour plus d'informations concernant les liens, consultez la section relative aux types de connexions, dans le Guide utilisateur du Studio Talend. | |
Global Variables |
DIFFERENCE : résultat de la comparaison. Cette variable est une variable Flow et retourne un booléen. 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. | |
Log4j | Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend. Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais). |
Ce scénario décrit un Job permettant de dézipper un fichier et de le comparer avec un fichier de référence pour s'assurer qu'il n'a pas été modifié. La sortie de cette comparaison est stockée dans un fichier délimité et un message est affiché dans la console.

Cliquez et déposez les composants suivants : tFileUnarchive, tFileCompare et tFileOutputDelimited.
Reliez les composants tFileUnarchive et tFileCompare à l'aide d'une connexion de type Iterate.
Connectez le composant tFileCompare au composant de sortie à l'aide d'un lien Main row.
Dans l'onglet Basic settings du composant tFileUnarchive, renseignez le chemin d'accès au fichier à dézipper.
Dans le champ Extraction Directory, renseignez le chemin de destination du fichier dézippé.
Dans l'onglet Basic settings du composant tFileCompare, paramétrez les propriétés du fichier à comparer. Dans le champ File to compare, appuyez sur Ctrl+Espace pour afficher la liste des variables globales. Sélectionnez $_globals{tFileUnarchive_1}{CURRENT_FILEPATH} ou "((String)globalMap.get("tFileUnarchive_1_CURRENT_FILEPATH"))" en fonction du langage avec lequel vous travaillez, pour récupérer le chemin d'accès du fichier à partir du composant tFileUnarchive.
Puis dans le champ Reference file, paramétrez le fichier de référence sur lequel est basée la comparaison.
Dans les champs If differences detected, display et If no differences detected, dispay, paramétrez les messages à afficher lorsque les fichiers sont différents et lorsqu'ils sont identiques, par exemple :
"[Job " + JobName + "] Files differ"
Cochez la case Print to Console, pour que le message défini apparaisse à la fin de l'exécution du Job.
Le schéma est en lecture seule et contient les informations standard. Cliquez sur Edit schema pour le consulter.
Paramétrez le composant de sortie en utilisant des points-virgules comme séparateurs de données.
Enregistrez le Job et appuyez sur F6 pour l'exécuter.
Le message paramétré apparaît dans la console et la sortie contient les informations telles qu'elles ont été définies dans le schéma.