Scénario : Mesurer le flux d'un Job

Composants Talend Open Studio Guide de référence

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

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.