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

Puissant composant qui peut remplacer bon nombre des composants File. Il requiert des connaissances avancées en rédaction d'expressions régulières.

Objectif

Le tFileInputRegex lit un fichier ou un flux de données ligne par ligne afin de le diviser en champs à l'aide d'expressions régulières et d'envoyer les champs définis dans le schéma au composant suivant via une connexion Row.

Propriétés du tFileInputRegex

Famille du composant

File/Input

Basic settings

Property type

Peut être Built-in ou Repository.

 

 

- Built-in : Propriétés utilisées ponctuellement.

 

 

- Repository : Sélectionnez le fichier dans lequel sont stockées les propriétés du composant.

 

File name/Stream

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

Stream : Flux de données à traiter. Les données doivent préalablement être mises en flux afin d'être récupérées par le tFileInputRegex via la variable INPUT_STREAM disponible dans la liste d'auto-complétion (Ctrl+Espace).

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

 

Row separator

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

 

Regex

Ce champ est compatible peut contenir plusieurs lignes. Intégrez à vos expressions régulières le subpattern correspondant aux champs à extraire.

Note

En Java, doublez les antislashes en regexp.

 

Header

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

 

Footer

Nombre de lignes à ignorer en fin de fichier.

 

Limit

Nombre maximum de lignes à traiter. Si Limit = 0, aucune ligne n'est lue ou traitée.

 

Ignore error message for the unmatched record

Cochez cette case afin de ne pas écrire en sortie les messages d'erreur pour les enregistrements qui ne correspondent pas à l'expression régulière définie. Par défaut, cette case n'est pas cochée.

 

Schema et Edit Schema

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.

 

Skip empty rows

Cochez cette case pour ignorer les lignes vides.

 

Die on error

Cette case est cochée par défaut et stoppe le Job en cas d'erreur. Décochez cette case pour terminer le traitement avec les lignes sans erreurs, et ignorer les lignes en erreur. Vous pouvez récupérer les lignes en erreur, si vous le souhaitez. Pour cela, utilisez un lien Row > Reject.

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.

 

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

Ce composant sert à lire un fichier et à en séparer les champs selon les Regex définies. Ce composant permet de créer un flux de données à l'aide d'un lien Row > Main, ainsi que de créer un flux de rejet avec un lien Row > Reject filtrant les données dont le type ne correspond pas au type défini. Pour un exemple d'utilisation de ces deux liens, consultez Scénario 2 : Extraire les données XML erronées dans un flux de rejet du composant tFileInputXML.

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 : Transformer en fichier Regex en Positional

Le scénario suivant est un Job formé de deux composants, qui a pour objectif de lire les données d'un fichier d'entrée utilisant des expressions régulières et transformant les données ainsi délimitées en sortie positionnelle.

Déposer et relier les composants

  1. Cliquez et déposez un composant tFileInputRegex et tFileOutputPositional de la Palette dans l'espace de modélisation.

  2. Cliquez-droit sur le composant tFileInputRegex et sélectionnez une connexion Row > Main dans le menu contextuel. Faites glisser cette connexion vers le composant tFileOutputPositional et relâchez lorsque le symbole approprié apparaît.

  1. Sélectionnez tFileInputRegex à nouveau et définissez ses propriétés dans l'onglet Component :

  2. Les propriétés de ce Job sont de type built-in. Par conséquent, elles ne sont définies que pour ce Job et ne peuvent être partagées avec d'autres utilisateurs.

  3. Indiquez le chemin d'accès au fichier dans le champ File Name. Ce champ est obligatoire.

  4. Définissez le séparateur de lignes, dans le champ Row separator, afin d'identifier la fin d'une ligne.

  5. Puis, dans Regular expression, définissez l'expression régulière à utiliser pour délimiter les champs d'une ligne qui seront passés au composant suivant. Vous pouvez saisir une expression régulière multiligne si vous en avez besoin.

  6. Assurez-vous d'inclure dans cette expression tous les sous-patterns des champs à extraire.

  7. Dans ce scénario, ignorez les champs en-tête (Header), pied de page (Footer) et limite (Limit).

  8. Dans le Schema, sélectionnez local (Built-in) comme type de schéma des données à transférer au composant tFileOutputPositional.

  9. Vous pouvez charger ou créer à partir de la fonction Edit Schema.

  10. Puis définissez les propriétés du deuxième composant :

  11. Saisissez le chemin d'accès au fichier de sortie.

  12. Saisissez l'encodage du fichier de sortie dans le champ Encoding. Notez que pour l'instant, l'homogénéité de l'encodage dans un Job n'est pas vérifiée.

  13. Sélectionnez le type de schéma dans Schema. Cliquez sur le bouton Sync columns pour récupérer en sortie le schéma d'entrée.

Sauvegarder et exécuter le Job

  1. Appuyez sur Ctrl+S pour sauvegarder votre Job.

  2. Passez à l'onglet Run et cliquez sur le bouton Run pour exécuter le Job.

Le fichier d'entrée est lu ligne par ligne puis divisé en champs délimités selon la valeur de l'expression régulière définie. Vous pouvez ouvrir le fichier de sortie avec tout éditeur standard.