tExtractDelimitedFields - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
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
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Fonction

Le composant tExtractDelimitedFields génère des colonnes multiples à partir d'une colonne String délimitée.

Objectif

Le tExtractDelimitedFields permet d'extraire les "champs" à partir d'une chaîne de caractères, pour les écrire à un autre endroit par exemple.

Si vous avez souscrit à l'une des solutions Big Data de Talend, ce composant est disponible dans les types de Job suivants :

Propriétés du tExtractDelimitedFields

Famille du composant

Processing/Fields

 

Basic settings

Field to split

Sélectionnez un champ entrant à partir de la liste Field to split.

 

Ignore NULL as the source data

Cochez cette case afin d'ignorer les valeurs Null dans les données source.

Décochez cette case afin de générer les enregistrements Null correspondant aux valeurs Null dans les données source.

 

Field separator

Définissez le séparateur de champs.

Note

La syntaxe regex utilise un certain nombre de caractères spéciaux comme opérateurs. Si vous utilisez l'un de ces opérateurs comme séparateur de champs, il est nécessaire de protéger le caractère par un double antislash. Utilisez par exemple "\\|" au lieu de "|".

 

Die on error

Décochez la case pour ignorer les lignes en erreur et terminer le processus avec les lignes sans erreur. Lorsque les erreurs sont ignorées,vous pouvez récupérer les lignes en erreur, si vous le souhaitez. Pour cela, utilisez un lien Row > Reject.

 

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

Cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent.

 

 

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.

Advanced settings

Advanced separator(for number)

Cochez cette case pour modifier le séparateur utilisé pour les nombres. Par défaut, le séparateur des milliers est une virgule (,) et le séparateur décimal est un point (.).

 

Trim columns

Cochez cette case pour supprimer les espaces en début et en fin de champ dans les colonnes sélectionnées.

 

Check each row structure against schema

Cochez cette case pour vérifier si le nombre total de colonnes pour chaque ligne correspond au schéma. S'il ne correspond pas, un message d'erreur s'affichera dans la console.

 

Validate date

Cochez cette case pour vérifier strictement le format de la date par rapport au schéma d'entrée.

 

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

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.

NB_LINE : nombre de lignes lues par un composant d'entrée ou passées à un composant de sortie. Cette variable est une variable After et retourne un entier.

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 traite des flux de données, il nécessite donc un composant d'entrée et un composant de sortie. Il permet d'extraire des données d'un champ délimité à l'aide d'un lien Row > Main, et permet 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.

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 : Extraire une colonne String délimitée d'une table d'une base de données

Ce scénario décrit un Job écrivant des données, y compris une colonne String délimitée dans une table d'une base de données MySQL et affiche les données dans la console, puis extrait la colonne String délimitée en plusieurs colonnes et affiche dans la console les données après extraction.

Construire le Job

  1. Créez un nouveau Job et ajoutez les composants suivants en saisissant leur nom dans l'espace de modélisation graphique ou en les déposant depuis la Palette : un tFixedFlowInput, un tMysqlOutput, un tMysqlInput, un tExtractDelimitedFields et deux composants tLogRow.

  2. Reliez le tFixedFlowInput au tMysqlOutput à l'aide d'un lien Row > Main.

  3. Répétez l'opération afin de relier le tMysqlOutput au premier tLogRow, reliez le tMysqlInput au tExtractDelimitedFields et le tExtractDelimitedFields au second tLogRow.

  4. Reliez le tFixedFlowInput au tMysqlInput à l'aide d'un lien Trigger > On Subjob Ok.

Configurer les composants

Alimenter une table d'une base de données MySQL

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

  2. Cliquez sur le bouton [...] à côté du champ Edit schema et, dans la fenêtre qui s'ouvre, définissez le schéma, en ajoutant trois colonnes : Id de type Integer, ainsi que Name et DelimitedField de type String.

    Cliquez sur OK pour fermer l'éditeur de schéma et acceptez la propagation proposée par la boîte de dialogue.

  3. Dans la zone Mode, sélectionnez Use Inline Content(delimited file). Dans le champ Content affiché, saisissez les données à écrire dans la base de données. Les données d'entrée comprennent une colonne String délimitée. Dans cet exemple, les données d'entrée se présentent comme suit :

    1;AAA;32,Component Team,Developer
    2;BBB;28,Component Team,Tester
    3;CCC;30,Doc Team,Writer
    4;DDD;35,Doc Team,Leader
    5;EEE;33,QA Team,Tester
  4. Double-cliquez sur le tMysqlOutput pour ouvrir sa vue Basic settings.

  5. Renseignez les champs Host, Port, Database, Username et Password avec les informations de connexion à la base de données.

  6. Renseignez le champ Table avec le nom de la table à écrire. Dans cet exemple, saisissez employee.

  7. Sélectionnez Drop table if exists and create dans la liste Action on table.

  8. Double-cliquez sur le premier tLogRow pour ouvrir sa vue Basic settings.

    Dans la zone Mode, sélectionnez Table (print values in cells of a table) pour une lisibilité optimale des résultats.

Extraire la colonne String délimitée de la table de la base de données en plusieurs colonnes

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

  2. Renseignez les champs Host, Port, Database, Username et Password avec les informations de connexion à la base de données MySQL.

  3. Cliquez sur le bouton [...] à côté du champ Edit schema et, dans la fenêtre qui s'ouvre, définissez le schéma du composant tMysqlInput de la même manière que celui du tMysqlOutput.

  4. Dans le champ Table Name, saisissez le nom de la table dans laquelle ont été écrites les données. Dans cet exemple, saisissez employee.

  5. Cliquez sur le bouton Guess Query afin de renseigner le champ Query avec l'instruction de requête SQL à exécuter sur la table spécifiée. Dans cet exemple, la requête se présente comme suit:

    SELECT 
      `employee`.`Id`, 
      `employee`.`Name`, 
      `employee`.`DelimitedField`
    FROM `employee`
  6. Double-cliquez sur le tExtractDelimitedFields pour ouvrir sa vue Basic settings.

  7. Dans la liste Field to split, sélectionnez la colonne String délimitée à extraire. Dans cet exemple, sélectionnez DelimitedField.

    Dans le champ Field separator, saisissez le séparateur utilisé pour séparer les champs, dans la colonne String délimité. Dans cet exemple, saisissez ,.

  8. Cliquez sur le bouton [...] à côté du champ Edit schema et, dans la fenêtre qui s'ouvre, définissez le schéma en ajoutant cinq colonnes : Id de type Integer, ainsi que Name, Age, Team et Title de type String.

    Dans cet exemple, la colonne String délimitée DelimitedField est divisée en trois colonnes Age, Team et Title. Les colonnes Id et Name sont également conservées.

    Cliquez sur OK pour fermer l'éditeur de schéma et acceptez la propagation proposée par la boîte de dialogue.

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

    Dans la zone Mode, sélectionnez Table (print values in cells of a table) pour une lisibilité optimale des résultats.

Sauvegarder et exécuter le Job

  1. Appuyez sur les touches Ctrl + S afin de sauvegarder le Job.

  2. Exécutez le Job en appuyant sur F6 ou en cliquant sur le bouton Run de l'onglet Run.

    Comme dans la capture d'écran, les données primitives d'entrée et les données après extraction sont affichées dans la console. La colonne String délimitée DelimitedField est divisée en trois colonnes puis extraite : Age, Team et Title.

Le tExtractDelimitedFields dans des Jobs Map/Reduce Talend

Avertissement

Les informations contenues dans cette section concernent uniquement les utilisateurs ayant souscrit à l'une des solutions Big Data de Talend et ne sont pas applicables aux utilisateurs de Talend Open Studio for Big Data.

Dans un Job Map/Reduce Talend, le tExtractDelimitedFields, ainsi que le Job complet utilisant ce composant, génère du code Map/Reduce natif. Cette section présente les propriétés spécifiques du tExtractDelimitedFields lorsqu'il est utilisé dans un Job Map/Reduce. Pour plus d'informations concernant un Job Map/Reduce Talend, consultez le Guide de prise en main de Talend Big Data.

Famille du composant

Processing / Fields

 

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 vous effectuez des modifications, le schéma devient automatiquement built-in.

  

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.

 

Prev.Comp.Column list

Sélectionnez la colonne de laquelle extraire les données.

 

Die on error

Cochez cette case pour arrêter l'exécution du Job lorsqu'une erreur survient.

 

Field separator

Saisissez un caractère, une chaîne de caractères ou une expression régulière pour séparer les champs des données transférées.

 

CSV options

Cochez cette case pour inclure des paramètres CSV spécifiques comme Escape char et Text enclosure.

Advanced settings

Custom Encoding

Il est possible de rencontrer des problèmes d'encodage lorsque vous traitez les données stockées. Dans ce cas, cochez cette case pour afficher la liste Encoding.

Sélectionnez l'encodage à utiliser dans la liste ou sélectionnez Custom pour le définir manuellement.

Advanced separator (for number)

Cochez cette case pour modifier le séparateur utilisé pour les nombres. Par défaut, le séparateur des milliers est une virgule (,) et le séparateur décimal est un point (.).

 

Trim all columns

Cochez cette case pour supprimer les espaces en début et en fin de champ dans les colonnes sélectionnées. Lorsque cette case est cochée, la table Check column to trim est affichée, ce qui vous permet de sélectionner les colonnes desquelles vous souhaitez enlever les espaces en début et en fin de champ.

 

Check column to trim

Cette table est automatiquement renseignée avec le schéma utilisé. Cochez la (les) case(s) correspondant à la (aux) colonne(s) dont vous souhaitez supprimer les espaces et début et en fin de champ.

 

Check each row structure against schema

Cochez cette case afin de vérifier que le nombre total de colonnes est cohérent par rapport au schéma. Si le nombre n'est pas cohérent, un message d'erreur s'affiche dans la console.

 

Check date

Cochez cette case pour vérifier strictement le format de date par rapport au schéma d'entrée.

 

Decode String for long, int, short, byte Types

Cochez cette case si l'un de vos types numériques (long, integer, short, ou byte), doit être parsé depuis une chaîne de caractères hexadécimale ou octale.

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 dans les Jobs Map/Reduce

Dans un Job Talend Map/Reduce, il est utilisé comme étape intermédiaire, avec d'autres composants Map/Reduce. Ils génèrent nativement du code Map/Reduce pouvant être exécuté directement dans Hadoop.

Lorsqu'un Job Map/Reduce est ouvert dans l'espace de modélisation graphique, le tExtractDelimitedFields et la famille MapReduce s'affichent dans la Palette du Studio.

Notez que, dans cette documentation, sauf mention contraire, un scénario présente uniquement des Jobs Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données et non des Jobs Map/Reduce.

Hadoop Connection

Vous devez utiliser l'onglet Hadoop Configuration de la vue Run afin de définir la connexion à une distribution Hadoop donnée pour le Job complet.

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

Scénarios associés

Aucun scénario n'est disponible pour la version Map/Reduce de ce composant.

Propriétés du tExtractDelimitedFields dans des Jobs Spark Batch

Famille du composant

Processing / Fields

 

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 vous effectuez des modifications, le schéma devient automatiquement built-in.

  

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.

 

Prev.Comp.Column list

Sélectionnez la colonne de laquelle extraire les données.

 

Die on error

Cochez cette case pour arrêter l'exécution du Job lorsqu'une erreur survient.

 

Field separator

Saisissez un caractère, une chaîne de caractères ou une expression régulière pour séparer les champs des données transférées.

 

CSV options

Cochez cette case pour inclure des paramètres CSV spécifiques comme Escape char et Text enclosure.

Advanced settings

Custom Encoding

Il est possible de rencontrer des problèmes d'encodage lorsque vous traitez les données stockées. Dans ce cas, cochez cette case pour afficher la liste Encoding.

Sélectionnez l'encodage à utiliser dans la liste ou sélectionnez Custom pour le définir manuellement.

Advanced separator (for number)

Cochez cette case pour modifier le séparateur utilisé pour les nombres. Par défaut, le séparateur des milliers est une virgule (,) et le séparateur décimal est un point (.).

 

Trim all columns

Cochez cette case pour supprimer les espaces en début et en fin de champ dans les colonnes sélectionnées. Lorsque cette case est cochée, la table Check column to trim est affichée, ce qui vous permet de sélectionner les colonnes desquelles vous souhaitez enlever les espaces en début et en fin de champ.

 

Check column to trim

Cette table est automatiquement renseignée avec le schéma utilisé. Cochez la (les) case(s) correspondant à la (aux) colonne(s) dont vous souhaitez supprimer les espaces et début et en fin de champ.

 

Check each row structure against schema

Cochez cette case afin de vérifier que le nombre total de colonnes est cohérent par rapport au schéma. Si le nombre n'est pas cohérent, un message d'erreur s'affiche dans la console.

 

Check date

Cochez cette case pour vérifier strictement le format de date par rapport au schéma d'entrée.

 

Decode String for long, int, short, byte Types

Cochez cette case si l'un de vos types numériques (long, integer, short, ou byte), doit être parsé depuis une chaîne de caractères hexadécimale ou octale.

Utilisation dans des Jobs Spark Batch

Dans un Job Talend Spark Batch, il est utilisé comme étape intermédiaire, avec d'autres composants Spark Batch. Ils génèrent nativement du code Spark pouvant être exécuté directement dans un cluster Spark.

Ce composant, ainsi que la Palette Spark Batch à laquelle il appartient, ne s'affiche que lorsque vous créez un Job Spark Batch.

Notez que, dans cette documentation, sauf mention contraire, un scénario présente uniquement des Jobs Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données.

Spark Connection

Vous devez utiliser l'onglet Spark Configuration de la vue Run afin de définir la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, un (et un seul) composant relatif à un système de fichiers de la famille Storage est requis au sein du même Job, afin que Spark puisse utiliser ce composant pour se connecter au système de fichiers auquel les fichiers .jar dépendants du Job sont transférés :

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

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 associé

Pour un scénario associé, consultez Effectuer une analyse de téléchargement.

Propriétés du tExtractDelimitedFields dans des Jobs Spark Streaming

Avertissement

La version Streaming de ce composant est disponible dans la Palette du studio si vous avez souscrit à Talend Real-time Big Data Platform ou Talend Data Fabric.

Famille du composant

Processing / Fields

 

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 vous effectuez des modifications, le schéma devient automatiquement built-in.

  

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.

 

Prev.Comp.Column list

Sélectionnez la colonne de laquelle extraire les données.

 

Die on error

Cochez cette case pour arrêter l'exécution du Job lorsqu'une erreur survient.

 

Field separator

Saisissez un caractère, une chaîne de caractères ou une expression régulière pour séparer les champs des données transférées.

 

CSV options

Cochez cette case pour inclure des paramètres CSV spécifiques comme Escape char et Text enclosure.

Advanced settings

Custom Encoding

Il est possible de rencontrer des problèmes d'encodage lorsque vous traitez les données stockées. Dans ce cas, cochez cette case pour afficher la liste Encoding.

Sélectionnez l'encodage à utiliser dans la liste ou sélectionnez Custom pour le définir manuellement.

Advanced separator (for number)

Cochez cette case pour modifier le séparateur utilisé pour les nombres. Par défaut, le séparateur des milliers est une virgule (,) et le séparateur décimal est un point (.).

 

Trim all columns

Cochez cette case pour supprimer les espaces en début et en fin de champ dans les colonnes sélectionnées. Lorsque cette case est cochée, la table Check column to trim est affichée, ce qui vous permet de sélectionner les colonnes desquelles vous souhaitez enlever les espaces en début et en fin de champ.

 

Check column to trim

Cette table est automatiquement renseignée avec le schéma utilisé. Cochez la (les) case(s) correspondant à la (aux) colonne(s) dont vous souhaitez supprimer les espaces et début et en fin de champ.

 

Check each row structure against schema

Cochez cette case afin de vérifier que le nombre total de colonnes est cohérent par rapport au schéma. Si le nombre n'est pas cohérent, un message d'erreur s'affiche dans la console.

 

Check date

Cochez cette case pour vérifier strictement le format de date par rapport au schéma d'entrée.

 

Decode String for long, int, short, byte Types

Cochez cette case si l'un de vos types numériques (long, integer, short, ou byte), doit être parsé depuis une chaîne de caractères hexadécimale ou octale.

Utilisation dans des Jobs Spark Streaming

Dans un Job Talend Spark Streaming, ce composant est utilisé comme étape intermédiaire. Les composants utilisés avec celui-ci doivent également être des composants Spark Streaming. Ils génèrent nativement du code Spark Streaming pouvant être exécuté directement dans un cluster Spark.

Ce composant, ainsi que les composants Spark Streaming de la Palette à laquelle il appartient, s'affichent uniquement lorsque vous créez un Job Spark Streaming.

Notez que, dans cette documentation, sauf mention contraire , un scénario présente uniquement des Jobs de type Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données.

Spark Connection

Vous devez utiliser l'onglet Spark Configuration de la vue Run afin de définir la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, un (et un seul) composant relatif à un système de fichiers de la famille Storage est requis au sein du même Job, afin que Spark puisse utiliser ce composant pour se connecter au système de fichiers auquel les fichiers .jar dépendants du Job sont transférés :

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

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 associé

Aucun scénario n'est disponible pour la version Spark Streaming de ce composant.