tExtractJSONFields - 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 tExtractJSONFields extrait les données souhaitées provenant des champs JSON d'entrée, selon la requête XPath ou JSONPath.

Objectif

Le tExtractJSONFields extrait les données des champs JSON stockés dans un fichier, une table de base de données, etc., selon la requête XPath ou JSONPath.

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 tExtractJSONFields

Famille du composant

JSON/Processing

 

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.

 

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.

 

Read by

Sélectionnez un moyen d'extraire les données JSON du fichier.

  • Xpath : extrait les données JSON à partir de la requête XPath.

  • JsonPath : extrait les données JSON à partir de la requête JSONPath. Il est recommandé de lire les données via JSONPath afin d'obtenir de meilleures performances.

 

JSON field

Liste des champs JSON à extraire.

 

Loop Jsonpath query

Spécifiez le nœud JSONPath sur lequel se base la boucle.

Si vous avez sélectionné Xpath dans la liste déroulante Read by, le champ Loop Xpath query s'affiche.

 

Mapping

Renseignez cette table pour mapper les colonnes définies dans le schéma aux nœuds JSON correspondants.

  • Column : les cellules Column sont automatiquement renseignées avec le nom des colonnes définies dans le schéma.

  • Json query/JSONPath query : spécifie le nœud JSONPath contenant les données souhaitées. Pour plus d'informations concernant les expressions JSONPath, consultez http://goessner.net/articles/JsonPath/ (en anglais).

    Cette colonne est disponible uniquement lorsque l'option JsonPath est sélectionnée dans la liste Read By.

  • XPath query : spécifie le nœud XPath contenant les données souhaitées.

    Cette colonne est disponible uniquement lorsque l'option Xpath est sélectionnée dans la liste Read By.

  • Get Nodes : cochez cette case pour extraire les données JSON de tous les nœuds ou cochez la case à côté d'un nœud spécifique pour en extraire les données.

    Cette colonne est disponible uniquement lorsque l'option Xpath est sélectionnée dans la liste Read By.

  • Is Array : cochez cette case lorsque le champ JSON à extraire est un tableau et non un objet.

    Cette colonne est disponible uniquement lorsque l'option Xpath est sélectionnée dans la liste Read By.

 

Die on error

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

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.

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

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 est un composant intermédiaire. Il nécessite un composant d'entrée et un composant de sortie.

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

Scénario : Récupérer les messages d'erreur lors de l'extraction de données de champs JSON

Dans ce scénario, le tWriteJSONField transforme les données d'entrée en des champs JSON, données ensuite extraites par le tExtractJSONFields. Les messages d'erreur générés par les échecs de l'extraction, notamment les champs et erreurs JSON concernés, sont récupérés via un lien Row > Reject.

Construire le Job

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

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

  3. Connectez le composant tWriteJSONField au tExtractJSONFields à l'aide d'un lien Row > Main.

  4. Reliez le tExtractJSONFields au data_extracted à l'aide d'un lien Row > Main.

  5. Reliez le tExtractJSONFields au reject_info à l'aide d'un lien Row > Reject.

Configurer les composants

Configurer le tFixedFlowInput

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

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

    Cliquez trois fois sur le bouton [+] pour ajouter trois colonnes, respectivement firstname, lastname et dept, de type string.

    Cliquez sur OK pour fermer l'éditeur.

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

    Andrew;Wallace;Doc
    John;Smith;R&D
    Christian;Dior;Sales

Configurer le tWriteJSONField

  1. Cliquez sur le composant tWriteJSONField pour afficher sa vue Basic settings.

  2. Cliquez sur Configure JSON Tree pour ouvrir l'éditeur d'arborescence XML.

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

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

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

  5. Dans la boîte de dialogue qui s'ouvre, saisissez le nom du sous-nœud, firstname.

    Répétez ces étapes pour ajouter deux autres sous-nœuds, respectivement lastname et dept.

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

  7. Déposez la ligne firstname du panneau Linker source dans son homonyme du panneau Linker target.

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

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

  8. Répétez les étapes pour relier les deux autres éléments.

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

  9. Cliquez sur Edit schema pour ouvrir l'éditeur de schéma.

  10. Cliquez sur le bouton [+] dans le panneau de droite pour ajouter une colonne, nommez-la staff. La colonne contiendra les données JSON générées.

    Cliquez sur OK pour fermer l'éditeur.

Configurer le tExtractJSONFields

  1. Double-cliquez sur le tExtractJSONFields pour afficher sur la vue Basic settings.

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

  3. Cliquez trois fois sur le bouton [+] dans le panneau droit pour ajouter trois colonnes, respectivement firstname, lastname et dept, qui contiendront les données de leur nœud homonyme dans le champ JSON staff.

    Cliquez sur OK pour fermer l'éditeur.

  4. Dans la boîte de dialogue [Propagate], cliquez sur Yes pour propager le schéma aux composants suivants.

  5. Dans le champ Loop XPath query, saisissez "/staff", le nœud racine des données JSON.

  6. Dans la zone Mapping, saisissez le nom du nœud des données JSON dans la colonne XPath query. Les données de ces nœuds seront extraites et passées à leurs colonnes homonymes définies dans le schéma de sortie.

  7. Définissez la requête XPath "firstname" pour la colonne firstname, "lastname" pour la colonne lastname et "" pour la colonne dept. Notez que "" n'est pas une requête XPath valide et conduit à des erreurs d'exécution.

Configurer les composants tLogRow

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

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

  3. Effectuez la même étape pour l'autre composant tLogRow, reject_info.

Exécuter le Job

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

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

    Le lien de rejet montre des détails, comme les données extraites, les champs JSON dont les données ne sont pas extraites et causent l'échec de l'extraction.

Scénario 2 : Collecter des données de votre réseau social favori

Dans ce scénario, le tFileInputJSON récupère le nœud friends d'un fichier JSON contenant les données d'un utilisateur Facebook et le tExtractJSONFields extrait les données du nœud friends afin d'obtenir des données plates en sortie.

Relier les composants

  1. Déposez les composants suivantes de la Palette dans l'espace de modélisation graphique : un tFileInputJSON, un tExtractJSONFields et un tLogRow.

  2. Reliez le tFileInputJSON au tExtractJSONFields à l'aide d'un lien Row > Main.

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

Configurer les composants

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

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

    Cliquez sur le bouton [+] pour ajouter une colonne, que vous nommez friends, de type String.

    Cliquez sur OK pour fermer l'éditeur.

  3. Cliquez sur le bouton [...] pour parcourir votre système jusqu'au fichier JSON, facebook.json dans cet exemple :

    { "user": { "id": "9999912398",
                "name": "Kelly Clarkson",
                "friends": [
                     { "name": "Tom Cruise",
                       "id": "55555555555555",
                       "likes": {
                           "data": [
                                { "category": "Movie",
                                  "name": "The Shawshank Redemption",
                                  "id": "103636093053996",
                                  "created_time": "2012-11-20T15:52:07+0000"
                                },
                                { "category": "Community",
                                  "name": "Positiveretribution",
                                  "id": "471389562899413",
                                  "created_time": "2012-12-16T21:13:26+0000"
                                }
                                    ]
                                }
                     },
                     { "name": "Tom Hanks",
                       "id": "88888888888888"
                       "likes": {
                            "data": [
                                { "category": "Journalist",
                                  "name": "Janelle Wang",
                                  "id": "136009823148851",
                                  "created_time": "2013-01-01T08:22:17+0000"
                                },
                                { "category": "Tv show",
                                  "name": "Now With Alex Wagner",
                                  "id": "305948749433410",
                                  "created_time": "2012-11-20T06:14:10+0000"
                                }
                                ]
                               }
                      }
                            ]
              }
    }
    
  4. Décochez la case Read by XPath.

    Dans la table Mapping, saisissez la requête JSONPath "$.user.friends[*]", dans la colonne JSONPath query, pour la ligne friends, permettant de récupérer le nœud friends complet du fichier source.

  5. Double-cliquez sur le tExtractJSONFields pour afficher sa vue Basic settings.

  6. Cliquez sur Edit schema pour ouvrir l'éditeur de schéma.

  7. Cliquez cinq fois sur le bouton [+] dans le panneau de droite pour ajouter cinq colonnes. Nommez-les respectivement id, name, like_id, like_name et like_category. Chaque colonne contiendra les données des nœuds concernés dans le champ JSON friends.

    Cliquez sur OK pour fermer l'éditeur.

  8. Dans la boîte de dialogue [Propagate] qui s'ouvre, cliquez sur Yes pour propager le schéma aux composants suivants.

  9. Dans le champ Loop XPath query, saisissez "/likes/data".

  10. Dans la zone Mapping, saisissez les requêtes des nœuds JSON dans la colonne XPath query. Les données de ces nœuds seront extraites et passées aux colonnes du même nom, dans le schéma de sortie.

  11. Configurez la requête XPath "../../id" (interrogeant le nœud "/friends/id") pour la colonne id.

    Configurez également la requête "../../name" (interrogeant le nœud "/friends/name") pour la colonne name, ainsi que les requêtes "id" pour la colonne like_id, "name" pour la colonne like_name et "category" pour la colonne like_category.

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

  13. Dans la zone Mode, 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 le Job.

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

    Comme affiché ci-dessus, les données relatives aux amis de l'utilisateur Facebook Kelly Clarkson sont correctement extraites.

Le composant tExtractJSONFields 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 tExtractJSONFields, 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 tExtractJSONFields 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

JSON/Processing

 

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.

 

Schema and 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.

 

Read by

Sélectionnez un moyen d'extraire les données JSON du fichier.

  • Xpath : extrait les données JSON à partir de la requête XPath.

  • JsonPath : extrait les données JSON à partir de la requête JSONPath. Il est recommandé de lire les données via JSONPath afin d'obtenir de meilleures performances.

 

JSON field

Liste des champs JSON à extraire.

 

Loop Jasonpath query

Spécifiez le nœud JSONPath sur lequel se base la boucle.

Si vous avez sélectionné Xpath dans la liste déroulante Read by, le champ Loop Xpath query s'affiche.

 

Mapping

Renseignez cette table pour mapper les colonnes définies dans le schéma aux nœuds JSON correspondants.

  • Column : les cellules Column sont automatiquement renseignées avec le nom des colonnes définies dans le schéma.

  • Json query/JSONPath query : spécifie le nœud JSONPath contenant les données souhaitées. Pour plus d'informations concernant les expressions JSONPath, consultez http://goessner.net/articles/JsonPath/ (en anglais).

    Cette colonne est disponible uniquement lorsque l'option JsonPath est sélectionnée dans la liste Read By.

  • XPath query : spécifie le nœud XPath contenant les données souhaitées.

    Cette colonne est disponible uniquement lorsque l'option Xpath est sélectionnée dans la liste Read By.

  • Get Nodes : cochez cette case pour extraire les données JSON de tous les nœuds ou cochez la case à côté d'un nœud spécifique pour en extraire les données.

    Cette colonne est disponible uniquement lorsque l'option Xpath est sélectionnée dans la liste Read By.

  • Is Array : cochez cette case lorsque le champ JSON à extraire est un tableau et non un objet.

    Cette colonne est disponible uniquement lorsque l'option Xpath est sélectionnée dans la liste Read By.

 

Die on error

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

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.

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.

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

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

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

Famille du composant

JSON/Processing

 

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.

 

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.

 

Read by

Sélectionnez un moyen d'extraire les données JSON du fichier.

  • Xpath : extrait les données JSON à partir de la requête XPath.

  • JsonPath : extrait les données JSON à partir de la requête JSONPath. Il est recommandé de lire les données via JSONPath afin d'obtenir de meilleures performances.

 

JSON field

Liste des champs JSON à extraire.

 

Loop Jasonpath query

Spécifiez le nœud JSONPath sur lequel se base la boucle.

Si vous avez sélectionné Xpath dans la liste déroulante Read by, le champ Loop Xpath query s'affiche.

 

Mapping

Renseignez cette table pour mapper les colonnes définies dans le schéma aux nœuds JSON correspondants.

  • Column : les cellules Column sont automatiquement renseignées avec le nom des colonnes définies dans le schéma.

  • Json query/JSONPath query : spécifie le nœud JSONPath contenant les données souhaitées. Pour plus d'informations concernant les expressions JSONPath, consultez http://goessner.net/articles/JsonPath/ (en anglais).

    Cette colonne est disponible uniquement lorsque l'option JsonPath est sélectionnée dans la liste Read By.

  • XPath query : spécifie le nœud XPath contenant les données souhaitées.

    Cette colonne est disponible uniquement lorsque l'option Xpath est sélectionnée dans la liste Read By.

  • Get Nodes : cochez cette case pour extraire les données JSON de tous les nœuds ou cochez la case à côté d'un nœud spécifique pour en extraire les données.

    Cette colonne est disponible uniquement lorsque l'option Xpath est sélectionnée dans la liste Read By.

  • Is Array : cochez cette case lorsque le champ JSON à extraire est un tableau et non un objet.

    Cette colonne est disponible uniquement lorsque l'option Xpath est sélectionnée dans la liste Read By.

 

Die on error

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

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.

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é

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

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

JSON/Processing

 

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.

 

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.

 

Read by

Sélectionnez un moyen d'extraire les données JSON du fichier.

  • Xpath : extrait les données JSON à partir de la requête XPath.

  • JsonPath : extrait les données JSON à partir de la requête JSONPath. Il est recommandé de lire les données via JSONPath afin d'obtenir de meilleures performances.

 

JSON field

Liste des champs JSON à extraire.

 

Loop Jasonpath query

Spécifiez le nœud JSONPath sur lequel se base la boucle.

Si vous avez sélectionné Xpath dans la liste déroulante Read by, le champ Loop Xpath query s'affiche.

 

Mapping

Renseignez cette table pour mapper les colonnes définies dans le schéma aux nœuds JSON correspondants.

  • Column : les cellules Column sont automatiquement renseignées avec le nom des colonnes définies dans le schéma.

  • Json query/JSONPath query : spécifie le nœud JSONPath contenant les données souhaitées. Pour plus d'informations concernant les expressions JSONPath, consultez http://goessner.net/articles/JsonPath/ (en anglais).

    Cette colonne est disponible uniquement lorsque l'option JsonPath est sélectionnée dans la liste Read By.

  • XPath query : spécifie le nœud XPath contenant les données souhaitées.

    Cette colonne est disponible uniquement lorsque l'option Xpath est sélectionnée dans la liste Read By.

  • Get Nodes : cochez cette case pour extraire les données JSON de tous les nœuds ou cochez la case à côté d'un nœud spécifique pour en extraire les données.

    Cette colonne est disponible uniquement lorsque l'option Xpath est sélectionnée dans la liste Read By.

  • Is Array : cochez cette case lorsque le champ JSON à extraire est un tableau et non un objet.

    Cette colonne est disponible uniquement lorsque l'option Xpath est sélectionnée dans la liste Read By.

 

Die on error

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

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.

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é

Pour un scénario associé, consultez Analyser un flux Twitter en quasi temps réel.

Le composant tExtractJSONFields dans des Jobs Storm 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 Storm Talend, le tExtractJSONFields, ainsi que le Job complet utilisant ce composant, génère du code Storm natif. Cette section présente les propriétés du tExtractJSONFields lorsqu'il est utilisé dans un Job Storm. Pour plus d'informations concernant un Job Storm Talend, consultez le Guide de prise en main de Talend Big Data.

Famille du composant

JSON/Processing

 

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.

 

Schema and 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.

 

JSON field

Liste des champs JSON à extraire.

 

Loop XPath query

Nœud, dans le champ JSON, sur lequel se base la boucle.

 

Mapping

Column : schéma défini pour contenir les données extraites du champ JSON.

XPath Query : requête XPath spécifiant le nœud dans le champ JSON.

Get nodes : cochez cette case pour extraire les données JSON de tous les nœuds spécifiés dans la liste Xpath query ou cochez la case à côté d'un nœud spécifique pour extraire ses données JSON uniquement.

Is Array : cochez cette case lorsque le champ JSON à extraire est un tableau et non un objet.

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.

Utilisation dans des Jobs Storm

Si vous avez souscrit à l'une des solutions Big Data de Talend, vous pouvez également utiliser ce composant en tant que composant Storm. Dans un Job Storm Talend, ce composant est utilisé comme étape intermédiaire. Les autres composants utilisés avec celui-ci doivent également être des composants Storm. Ils génèrent nativement du code Storm pouvant être exécuté directement dans un système Storm.

La version de Storm ne supporte pas l'utilisation des variables globales.

Vous devez utiliser l'onglet Storm Configuration dans la vue Run pour définir la connexion à un système Storm donné pour le Job complet.

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

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

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

Scénarios associés

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