tFlowMeterCatcher

Composants Talend Open Studio Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Open Studio for Data Quality
Talend Open Studio for Data Integration
Talend Open Studio for Big Data
task
Qualité et préparation de données
Gouvernance de données
Création et développement
EnrichPlatform
Studio Talend

Fonction

Le composant tFlowMeterCatcher est basé sur le schéma défini. Il récupère les données du composant tFlowMeter et les transmet au composant de sortie.

Objectif

Ce composant fonctionne comme une fonction de log déclenchée par l'utilisation du composant tFlowMeter dans le Job.

Propriétés du tFlowMeterCatcher

Famille du composant

Logs & Errors

 

Basic settings

Schema et Edit schema

Un schéma est une description de lignes, il définit les champs à traiter et à passer au composant suivant. Pour ce composant, le schéma est en lecture seule puisqu'il regroupe les informations de log standard, notamment :

 

 

Moment : Date et heure du traitement

 

 

Pid : Identifiant de processus du Job.

 

 

Father_pid : Identifiant de processus du Job parent, le cas échéant. Sinon, le Pid est dupliqué.

 

 

Root_pid : Identifiant de processus du Job racine, le cas échéant. Sinon, le Pid est dupliqué.

 

 

System_pid : Identifiant de processus généré par le système.

 

 

Project : Nom du projet auquel appartient le Job.

 

 

Job : Nom du Job en cours.

 

 

Job_repository_id : Identifiant généré par l'application.

 

 

Job_version : Numéro de version du Job en cours.

 

 

Context : Nom du contexte en cours.

 

 

Origin : Nom du composant, le cas échéant.

 

 

Label : Libellé de la connexion Main Row précédent le composant tFlowMeter dans le Job et dont la volumétrie sera analysée.

 

 

Count : Nombre de lignes en cours de traitement.

 

 

Reference : Nombre de lignes passant dans le lien Reference.

 

 

Thresholds : cette fonction ne s'utilise que si le mode Relative a été sélectionné dans le composant tFlowMeter.

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 est le composant de début du Job secondaire qui se déclenche automatiquement à la fin du Job principal.

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).

Limitation

L'utilisation de ce composant est liée à l'utilisation du composant tFlowMeter. Pour plus d'informations, consultez tFlowMeterCatcher.

Scénario : Mesurer le flux d'un Job

Le Job suivant permet de recueillir le nombre de lignes traitées. Les mesures sont prises deux fois, une fois après le composant d'entrée, c'est-à-dire avant qu'elles soient filtrées, et après leur filtrage, avant le composant de sortie.

  • Cliquez et déposez les composants suivants : un tMysqlInput, deux tFlowMeter, un tMap, un tLogRow, un tFlowMeterCatcher et un tFileOutputDelimited.

  • Connectez les composants du Job principal à l'aide de liens de type Row main et cliquez sur le libellé pour lui donner un nom plus parlant, par exemple US_States après le composant d'entrée et filtered_states après le tMap.

  • Reliez aussi les composants tFlowMeterCatcher et tFileOutputCSV à l'aide d'une connexion de type Row main puisque les données sont transmises au composant de sortie.

  • Dans la vue Component du composant tMysqlInput, sélectionnez l'option Repository dans le champ Property Type, si les propriétés de connexion à la base de données sont stockées dans une métadonnée du Repository. Sinon, sélectionnez l'option Built-in et paramétrez les propriétés et le schéma manuellement.

  • Les 50 Etats des Etats-Unis sont enregistrés dans la table states. Pour que les 50 entrées soient sélectionnées, la requête à effectuer dans la base de données Mysql est la suivante :

    select * from states.

  • Dans l'onglet Advanced settings, sélectionnez l'encodage adéquat.

  • Puis sélectionnez le composant suivant, le tFlowMeter, et paramétrez ses propriétés.

  • Cochez la case Use input connection name as label pour réutiliser le nom de la connexion d'entrée dans le fichier log de sortie (tFileOutputCSV).

  • Dans le champ Mode, sélectionnez l'option Absolute puisqu'il n'y a pas de flux de référence, et aucun seuil ne doit être défini dans le champ Threshold pour cet exemple.

  • Puis lancez l'éditeur du tMap pour paramétrer les propriétés de filtrage.

  • Pour cet exemple, glissez et déposez les colonnes ID et State de la zone Input (à gauche) du tMap vers la zone Output (à droite). Aucune variable n'est utilisée pour cet exemple.

  • Dans la table du flux de sortie (ici, la table filtered_states), cliquez sur la flèche dotée d'un (+) pour ajouter un ligne de filtre.

  • Glissez la colonne State de la zone Input (row2) vers le champ filtre et saisissez un filtre permettant de n'obtenir que les Etats commençant par la lettre M. L'expression finale ressemble à : row2.State.startsWith("M")

  • Cliquez sur OK pour valider les paramètres.

  • Puis sélectionnez le deuxième composant tFlowMeter et paramétrez ses propriétés.

  • Cochez la case Use input connection name as label.

  • Dans le champ Mode, sélectionnez l'option Relative et dans la liste déroulante Reference connection, sélectionnez US_States comme référence.

  • Une fois de plus, aucun seuil n'est utilisé pour cet exemple, ainsi laissez le champ Threshold vide.

  • Aucun paramètre particulier n'est requis pour le composant tLogRow.

  • Il en va de même pour le composant tFlowMeterCatcher puisque ses propriétés sont limitées au schéma prédéfini contenant les informations de log.

  • Paramétrez les propriétés du composant de sortie (tFileOutputCSV).

  • Cochez la case Append pour logger toutes les mesures du tFlowMeter.

  • Enregistrez le Job et exécutez-le.

La vue Run affiche le nom des Etats filtrés tel qu'il a été défini dans le Job.

Dans le fichier csv délimité, le nombre de lignes de la colonne count varie entre le composant tFlowMeter1 et le tFlowMeter2 puisque les données ont été filtrées. La colonne reference affiche cette différence.