tFileRowCount - 6.1

Composants Talend Open Studio Guide de référence

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

Propriétés du tFileRowCount

Famille du composant

File/Management

 

Fonction

Le composant tFileRowCount compte le nombre de lignes dans un fichier.

Objectif

Ce composant ouvre un fichier et le lit ligne par ligne afin de déterminer le nombre de lignes qu'il contient.

Basic settings

File Name

Chemin d'accès et nom du fichier à traiter, et/ou variable à utiliser.

Pour plus d'informations concernant l'utilisation et la définition de variables, consultez le Guide utilisateur du Studio Talend.

 

Row separator

Chaîne (ex : "\n" sous Unix) séparant les lignes.

 

Ignore empty rows

Cochez cette case pour que les lignes vides ne soient pas prises en compte.

 

Encoding

Sélectionnez l'encodage à partir de la liste ou sélectionnez Custom et définissez-le manuellement. Ce champ est obligatoire pour la manipulation des données de base de données.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du composant.

Utilisation

Le tFileRowCount est un composant standalone, et doit être utilisé avec un lien de type OnSubjobOk vers un tJava.

Global Variables

COUNT : nombre de lignes dans un fichier. Cette variable est une variable Flow et retourne un nombre entier.

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.

Connections

Liens de sortie (de ce composant à un autre) :

Row : Main.

Trigger : OnSubjobOk, OnSubjobError, Run if.

Liens d'entrée (d'un autre composant à celui-ci) :

Row : Main, Reject, Iterate.

Trigger : OnSubjobOk, OnSubjobError, Run if, OnComponentOk, OnComponentError, Synchronize, Parallelize.

Pour plus d'informations concernant les liens, consultez la section relatives aux types de connexions, dans 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).

Limitation

Du fait d'une incompatibilité de licence, un ou plusieurs Jar requis pour utiliser ce composant ne sont pas fournis. Vous pouvez installer les Jar manquants pour ce composant en cliquant sur le bouton Install dans l'onglet Component. Vous pouvez également trouver les Jar manquants et les ajouter dans l'onglet Modules de la perspective Integration de votre studio. Pour plus d'informations, consultez la page https://help.talend.com/display/KB/How+to+install+external+modules+in+the+Talend+products (en anglais) ou la section décrivant comment configurer le studio, dans le Guide d'installation et de migration Talend.

Scénario : Ecrire un fichier dans MySQL si le nombre d'enregistrements correspond à une valeur de référence

Dans ce scénario, le tFileRowCount compte le nombre d'enregistrements d'un fichier .txt et compare ce nombre à une valeur de référence grâce au tJava. Lorsque les deux valeurs correspondent, le fichier .txt est écrit dans une table MySQL.

Le fichier .txt contient deux enregistrements :

1;andy
2;mike

Relier les composants

  1. Déposez un tFileRowCount, un tJava, un tFileInputDelimited et un tMysqlOutput de la Palette dans l'espace de modélisation graphique.

  2. Reliez le tFileRowCount au tJava à l'aide d'un lien Trigger > OnSubjobOk.

  3. Reliez le tJava au tFileInputDelimited à l'aide d'un lien Trigger > Run if.

  4. Reliez le tFileInputDelimited au tMysqlOutput à l'aide d'un lien Row > Main.

Configurer les composants

  1. Double-cliquez sur le tFileRowCount pour ouvrir sa vue Basic settings.

  2. Dans le champ File Name, saisissez le chemin complet vers le fichier .txt. Vous pouvez également cliquer sur le bouton pour parcourir votre système jusqu'au fichier.

    Cochez ensuite la case Ignore empty rows.

  3. Double-cliquez sur le tJava pour ouvrir sa vue Basic settings.

    Dans la zone Code, saisissez la fonction permettant d'afficher le nombre de lignes du fichier :

    System.out.println(globalMap.get("tFileRowCount_1_COUNT"));
  4. Cliquez sur le lien If pour ouvrir sa vue Basic settings.

    Dans la zone Condition, saisissez l'instruction permettant de déterminer si le nombre de lignes est égal à 2 :

    ((Integer)globalMap.get("tFileRowCount_1_COUNT"))==2

    Ce lien If signifie que si le nombre de lignes est égal à 2, les lignes du fichier .txt sont écrites dans MySQL.

  5. Double-cliquez sur le tFileInputDelimited pour ouvrir sa vue Basic settings.

    Dans le champ File name/Stream, saisissez le chemin complet vers le fichier .txt. Vous pouvez également cliquer sur le bouton afin de parcourir votre système jusqu'au fichier.

  6. Cliquez sur le bouton Edit schema afin d'ouvrir l'éditeur de schéma.

  7. Cliquez deux fois sur le bouton afin d'ajouter deux colonnes, nommées respectivement id (de type Integer) et name (de type String).

  8. Dans la boîte de dialogue qui s'affiche, cliquez sur le bouton Yes afin de propager le schéma au composant suivant.

  9. Double-cliquez sur le tMysqlOutput pour ouvrir sa vue Basic settings.

  10. Dans les champs Host et Port, saisissez les informations de connexion.

    Dans le champ Database, saisissez le nom de la base de données.

    Dans les champs Username et Password, saisissez les informations d'authentification.

    Dans le champ Table, saisissez le nom de la table, par exemple "staff".

    Dans la liste Action on table, sélectionnez Create a table if not exists.

    Dans la liste Action on data, sélectionnez Insert.

Exécuter le Job

  1. Appuyez sur Ctrl+S afin de sauvegarder votre Job.

  2. Appuyez sur F6 pour exécuter le Job.

    Comme montré ci-dessus, le Job a été exécuté avec succès et le nombre de lignes du fichier .txt a été affiché.

  3. Ouvrez l'interface graphique de MySQL et ouvrez la table staff.

    Comme montré ci-dessus, la table a été créée et deux enregistrements ont été insérés.