tWriteJSONField - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
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 tWriteJSONField transforme les données entrantes en champs JSON.

Objectif

Le tWriteJSONField transforme les données entrantes en champs JSON et les transfère dans un fichier, une table de base de données.

Selon la solution Talend que vous utilisez, ce composant peut être utilisé dans un framework de Jobs, dans plusieurs, ou dans tous les frameworks :

Configurer une arborescence JSON

Lorsque vous configurez une arborescence JSON, le type d'élément par défaut est string. Si un élément n'est pas de type string, vous devez ajouter un attribut à l'élément afin de définir son type.

  • Pour un élément de type integer, double, float ou boolean, vous devez ajouter un attribut nommé type et définir sa valeur, dans la colonne Static Value, en integer, number, float, ou boolean respectivement.

  • Pour un élément de type array, vous devez ajouter un attribut nommé class et définir sa valeur, dans la colonne Static Value, en array puis ajouter un sous élément nommé element défini en élément de boucle (loop element).

  • Pour un élément de type object, vous devez ajouter un attribut nommé class et définir sa valeur, dans la colonne Static Value, en object.

L'image suivante montre un exemple de configuration d'arborescence JSON :

Propriétés du tWriteJSONField

Famille du composant

Processing/Fields

 

Basic settings

Output Column

Liste des colonnes définies dans le schéma de sortie contenant les champs JSON générés.

 

Configure JSON Tree

Cliquez pour ouvrir l'interface de création de la structure de données JSON. Pour plus d'informations, consultez Configurer une arborescence JSON.

 

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, cliquez sur 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.

 

Sync columns

Cliquez sur ce bouton pour synchroniser le schéma du fichier de sortie et le schéma du fichier d'entrée. La fonction Sync s'affiche uniquement lorsque le lien Row est connecté au composant de sortie.

 

Group by

Définissez l'ensemble d'agrégation, les colonnes que vous souhaitez utiliser pour regrouper les données.

Avertissement

Assurez-vous que les données à grouper sont un ordre séquentiel.

 Remove root node

Cochez cette case pour supprimer le nœud racine du champ JSON généré.

Advanced settings

 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du 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

Précédé d'un composant d'entrée, ce composant met les données d'entrée dans un champ JSON.

Scénario : Ecrire des données plates dans des champs JSON

Dans ce scénario, les données plates sont mises dans des champs JSON via le composant tWriteJSONField.

Relier les composants

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tFixedFlowInput, un tWriteJSONField et un tLogRow.

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

  3. Reliez le tWriteJSONField au tLogRow à l'aide d'un lien Row > Main.

Configurer les composants

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

  2. Cliquez sur Edit schema pour ouvrir l'éditeur du schéma.

    Cliquez sur le bouton [+] pour ajouter trois colonnes, respectivement nommée firstname, lastname et dept, de type String.

    Cliquez sur OK pour fermer l'éditeur.

  3. Sélectionnez l'option Use Inline Content et saisissez les données ci-dessous dans le champ Content :

    Andrew;Wallace;Doc
    John;Smith;R&D
    Christian;Dior;Sales
  4. Cliquez sur le tWriteJSONField pour afficher sa vue Basic settings.

    Cochez la case Remove root node afin de supprimer le nœud racine des champs JSON générés.

  5. Cliquez sur le bouton [...] à côté du champ Configure JSON Tree pour ouvrir l'éditeur de l'arborescence XML.

    Le schéma du tFixedFlowInput apparaît dans le panneau Linker source.

  6. Dans le panneau Linker target, cliquez sur le nœud racine par défaut (rootTag) et saisissez staff, le nom du nœud racine du champ JSON à générer.

  7. Cliquez-droit sur staff et sélectionnez Add Sub-element dans le menu contextuel.

  8. Dans la boîte de dialogue, saisissez le nom du sous-nœud, firstname.

    Répétez les étapes précédentes afin d'ajouter deux autres sous-nœuds, respectivement nommés lastname et dept.

  9. Cliquez-droit sur firstname et sélectionnez Set As Loop Element dans le menu contextuel.

  10. Déposez la ligne firstname du panneau Linker source dans la ligne du même nom, dans le panneau Linker target.

    Dans la boîte de dialogue, sélectionnez Add linker to target node.

    Cliquez sur OK pour fermer la boîte de dialogue.

    Répétez ces étapes afin de lier les deux autres éléments.

    Cliquez sur OK pour fermer l'éditeur d'arborescence XML.

  11. Cliquez sur Edit schema pour ouvrir l'éditeur du schéma.

  12. Cliquez sur le bouton [+] du panneau de droite pour ajouter une colonne, nommée staff, qui contiendra les données JSON générées.

    Cliquez sur OK pour fermer l'éditeur.

  13. Double-cliquez sur le tLogRow pour afficher sa vue Basic settings.

    Sélectionnez Table (print values in cells of a table) pour un affichage optimal des résultats.

Exécuter le Job

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

  2. Cliquez sur F6 pour l'exécuter.

    Comme affiché ci-dessus, les champs JSON ont été correctement générés et les paramètres du nœud racine ont bien été supprimés.

Le composant tWriteJSONField 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 tWriteJSONField, ainsi que le Job complet utilisant ce composant, génère du code Map/Reduce natif. Cette section présente les propriétés du tWriteJSONField 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

Output Column

Liste des colonnes définies dans le schéma de sortie contenant les champs JSON générés.

 

Configure JSON Tree

Cliquez pour ouvrir l'interface de création de la structure de données JSON. Pour plus d'informations, consultez Configurer une arborescence JSON.

 

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, cliquez sur 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.

 

Sync columns

Cliquez sur ce bouton pour synchroniser le schéma du fichier de sortie et le schéma du fichier d'entrée. La fonction Sync s'affiche uniquement lorsque le lien Row est connecté au composant de sortie.

 

Group by

Définissez l'ensemble d'agrégation, les colonnes que vous souhaitez utiliser pour regrouper les données.

Avertissement

Assurez-vous que les données à grouper sont un ordre séquentiel.

 Remove root node

Cochez cette case pour supprimer le nœud racine du champ JSON généré.

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.

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.

Pour plus d'informations concernant les Jobs Talend Map/Reduce, consultez les sections décrivant comment créer, convertir et configurer un Job Talend Map/Reduce, dans le Guide de prise en main de Talend Big Data.

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.

Scénario associé

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

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

Famille du composant

Processing/Fields

 

Basic settings

Editor

Cliquez pour ouvrir l'interface de création de la structure de données JSON. Pour plus d'informations, consultez Configurer une arborescence JSON.

 

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, cliquez sur 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.

 

Sync columns

Cliquez sur ce bouton pour synchroniser le schéma du fichier de sortie et le schéma du fichier d'entrée. La fonction Sync s'affiche uniquement lorsque le lien Row est connecté au composant de sortie.

 

Group by

Définissez l'ensemble d'agrégation, les colonnes que vous souhaitez utiliser pour regrouper les données.

Avertissement

Assurez-vous que les données à grouper sont un ordre séquentiel.

 Remove root node

Cochez cette case pour supprimer le nœud racine du champ JSON généré.

Utilisation dans des Jobs Spark Batch

Ce composant est utilisé comme étape intermédiaire.

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é

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

Propriétés du tWriteJSONField 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

Output type

Liste des colonnes définies dans le schéma de sortie contenant les champs JSON générés.

 

Editor

Cliquez pour ouvrir l'interface de création de la structure de données JSON. Pour plus d'informations, consultez Configurer une arborescence JSON.

 

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, cliquez sur 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.

 

Sync columns

Cliquez sur ce bouton pour synchroniser le schéma du fichier de sortie et le schéma du fichier d'entrée. La fonction Sync s'affiche uniquement lorsque le lien Row est connecté au composant de sortie.

 

Group by

Définissez l'ensemble d'agrégation, les colonnes que vous souhaitez utiliser pour regrouper les données.

Avertissement

Assurez-vous que les données à grouper sont un ordre séquentiel.

 Remove root node

Cochez cette case pour supprimer le nœud racine du champ JSON généré.

Utilisation dans des Jobs Spark Streaming

Ce composant est utilisé comme étape intermédiaire.

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.