tFileInputFullRow - 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

Fonction

Le composant tFileInputFullRow lit un fichier donné ligne par ligne.

Objectif

Le tFileInputFullRow lit un fichier ligne par ligne et passe les lignes complètes au composant suivant comme défini dans le schéma, via une connexion de type Row.

Propriétés du tFileInputFullRow

Famille du composant

File/Input

 

Basic settings

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs (colonnes) qui sont traités et passés au composant suivant. Le schéma est soit local (Built-In), soit distant dans le Repository.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

 

Built-In : Le schéma est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et il est stocké dans le Repository. Ainsi, il peut être réutilisé. Voir également le Guide utilisateur du Studio Talend.

 

File Name

Spécifiez le chemin d'accès du fichier à traiter.

 

Row separator

Saisissez le séparateur à utiliser pour identifier la fin des lignes.

 

Header

Saisissez le nombre de lignes à ignorer au début du fichier.

 

Footer

Saisissez le nombre de lignes à ignorer à la fin du fichier.

 

Limit

Saisissez le nombre maximum de lignes à traiter. Si la valeur est fixée à 0, aucune ligne n'est lue ou traitée.

 

Skip empty rows

Cochez cette case pour ignorer les lignes vides.

Advanced settings

Encoding

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

 

Extract lines at random

Cochez cette case pour définir le nombre de lignes à extraire de façon aléatoire.

 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du Job, ainsi qu'au niveau de chaque composant.

Global Variables

NB_LINE : nombre de lignes traitées. Cette variable est une variable After et retourne un 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.

Utilisation

Utilisez ce composant pour lire des lignes complètes dans un fichier délimité pouvant être très gros.

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

Scénario : Lire des lignes complètes dans un fichier délimité

Le scénario suivant crée un Job à deux composants permettant de lire des lignes complètes à partir du fichier délimité states.csv et d'afficher les données dans la console.

Le contenu du fichier states.csv qui contient dix lignes de données se présente comme suit :

StateID;StateName
1;Alabama
2;Alaska
3;Arizona
4;Arkansas
5;California
6;Colorado
7;Connecticut
8;Delaware
9;Florida
10;Georgia
  1. Créez un nouveau Job et ajoutez un tFileInputFullRow et un tLogRow en saisissant leur nom dans l'espace de modélisation graphique ou en les déposant depuis la Palette.

  2. Reliez le tFileInputFullRow au tLogRow à l'aide d'un lien Row > Main.

  3. Double-cliquez sur le tFileInputFullRow pour ouvrir sa vue Basic settings dans l'onglet Component.

  4. Cliquez sur le bouton [...] du champ Edit schema pour voir les données à transférer au composant tLogRow. Notez que le schéma est en lecture seule et ne comporte qu'une seule colonne, line.

  5. Dans le champ File Name, parcourez votre système jusqu'au fichier à traiter ou saisissez son chemin d'accès. Dans ce scénario, le fichier est E:/states.csv.

  6. Dans le champ Row separator, renseignez le séparateur permettant d'identifier les fins de ligne. Dans cet exemple, la valeur par défaut est \n.

  7. Dans la champ Header, indiquez la valeur 1 pour ignorer les lignes d'en-tête au début du fichier.

  8. Double-cliquez sur le tLogRow pour ouvrir sa vue Basic settings dans l'onglet Component.

    Dans la zone Mode, sélectionnez Table (print values in cells of a table) pour afficher un résultat plus lisible.

  9. Appuyez sur Ctrl+S pour sauvegarder votre Job puis sur F6 pour l'exécuter.

  • Comme affiché ci-dessus, les dix lignes de données du fichier states.csv sont lues une par une, en ignorant les séparateurs de champs, et les lignes de données complètes sont affichées dans la console.

    Pour extraire les champs des lignes, vous devez utiliser un tExtractDelimitedFields, un tExtractPositionalFields ou un tExtractRegexFields. Pour plus d'informations, consultez tExtractDelimitedFields, tExtractPositionalFields et tExtractRegexFields.