tFileInputJSON - 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 tFileInputJSON extrait des données JSON d'un fichier.

Dans un Job Map/Reduce, le tFileInputJSON extrait des données d'un ou plusieurs fichier(s) JSON dans HDFS et les envoie dans le composant de transformation.

Objectif

Ce composant extrait des données JSON d'un fichier, transfère les données à un fichier, une table de base de données, etc.

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 tFileInputJSON

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.

 

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.

  • JsonPath without loop : extrait les données JSON à partir de la requête JSONPath sans configurer de nœud de boucle.

 

Use Url

Cochez cette case pour récupérer les données directement à partir d'internet.

 

URL

Saisissez le chemin de l'URL d'où vous souhaitez récupérer les données.

Ce champ est disponible uniquement lorsque la case Use Url est cochée.

 

Filename

Spécifiez le fichier duquel récupérer les données.

Ce champ n'est pas disponible lorsque la case Use Url est cochée.

 

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.

 

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

Advanced separator (for numbers)

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

Thousands separator : définissez le séparateur utilisé pour les milliers.

Decimal separator : définissez le séparateur utilisé pour les décimaux.

 

Validate date

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

Cette case n'est disponible que si la case Read By XPath est cochée.

 

Encoding

Sélectionnez l'encodage à partir de la liste ou sélectionnez Custom et définissez-le manuellement. Ce champ est obligatoire pour la manipulation des données des 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 est un composant de départ. Il nécessite donc un lien 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).

Scénario 1 : Extraire des données JSON d'un fichier en utilisant le JSONPath sans configurer de nœud de boucle

Ce scénario décrit un Job à deux composants qui extrait des données du fichier JSON Store.json en spécifiant le chemin JSON complet pour chaque nœud présentant un intérêt et affiche les données plates extraites dans la console.

Le fichier JSON contient des informations concernant un magasin et son contenu se présente comme suit :

{"store": {
    "name": "Sunshine Department Store",
    "address": "Wangfujing Street",
    "goods": {
        "book": [
            {
                "category": "Reference",
                "title": "Sayings of the Century",
                "author": "Nigel Rees",
                "price": 8.88
            },
            {
                "category": "Fiction",
                "title": "Sword of Honour",
                "author": "Evelyn Waugh",
                "price": 12.66
            }
        ],
        "bicycle": {
            "type": "GIANT OCR2600",
            "color": "White",
            "price": 276
        }
    }
}}

Dans l'exemple suivant, vous allez extraire de ce fichier le nom du magasin, son adresse et les informations sur les vélos.

Ajouter et relier les composants

  1. Créez un nouveau Job et ajoutez un composant tFileInputJSON et un composant tLogRow en saisissant leur nom dans l'espace de modélisation graphique ou en les déposant depuis la Palette.

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

  3. Reliez les composants à l'aide d'un lien Row > Main.

Configurer les composants

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

  2. Sélectionnez JsonPath without loop dans la liste déroulante Read By. Pour cette option, vous devez spécifier le chemin JSON complet pour chaque nœud présentant un intérêt dans les champs JSONPath query de la table Mapping.

  3. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

  4. Cliquez sur le bouton [+] pour ajouter cinq colonnes, store_name, store_address, bicycle_type et bicycle_color de type String et bicycle_price de type Double.

    Cliquez sur OK pour fermer l'éditeur du schéma. Dans la fenêtre qui s'affiche, cliquez sur Yes pour propager le schéma au composant suivant.

  5. Dans la boîte de dialogue [Propagate], cliquez sur Yes pour propager le schéma au composant suivant.

    Dans le champ Filename, spécifiez le chemin d'accès au fichier JSON contenant les données à extraire. Dans cet exemple, "E:/Store.json".

  6. Dans la table Mapping, les champs Column sont automatiquement renseignés par les colonnes du schéma que vous avez définies.

    Dans les champs JSONPath query, saisissez les requêtes JSONPath entre guillemets doubles pour spécifier les nœuds contenant les données souhaitées.

    • Pour les colonnes store_name et store_address, saisissez les expressions de requêtes JSONPath "$.store.name" et "$.store.address" relatives aux nœuds name et address, respectivement.

    • Pour les colonnes bicycle_type, bicycle_color et bicycle_price, saisissez les expressions de requêtes JSONPath "$.store.goods.bicycle.type", "$.store.goods.bicycle.color" et "$.store.goods.bicycle.price" relatives aux nœuds enfants, respectivement type, color et price du nœud bicycle.

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

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

Exécuter le Job

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

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

    Comme affiché ci-dessus, le nom du magasin, son adresse et les informations sur les vélos sont extraites des données source JSON et affichées sous forme de table plate dans la console.

Scénario 2 : Extraire des données JSON d'un fichier en utilisant JSONPath

Basé sur Scénario 1 : Extraire des données JSON d'un fichier en utilisant le JSONPath sans configurer de nœud de boucle, ce scénario montre comment extraire les données du tableau book du fichier JSON Store.json en spécifiant un nœud de boucle et le chemin JSON relatif pour chacun des nœuds recherchés, puis comment afficher les données extraites dans la console.

  1. Dans le Studio, ouvrez le Job utilisé dans Scénario 1 : Extraire des données JSON d'un fichier en utilisant le JSONPath sans configurer de nœud de boucle pour l'afficher dans l'espace de modélisation graphique.

  2. Double-cliquez sur le composant tFileInputJSON pour ouvrir sa vue Basic settings.

  3. Sélectionnez JsonPath dans la liste déroulante Read By.

  4. Dans le champ Loop Json query, saisissez l'expression de requête JSONPath entre guillemets doubles pour spécifier le nœud sur lequel la boucle est basée. Dans cet exemple, "$.store.goods.book[*]".

  5. Cliquez sur le bouton [...] à côté de Edit schema pour ouvrir l'éditeur du schéma.

    Sélectionnez les cinq colonnes ajoutées précédemment et cliquez sur le bouton [x] pour les supprimer toutes.

    Cliquez sur le bouton [+] pour ajouter quatre colonnes, book_title, book_category et book_author de type String et book_price de type Double.

    Cliquez sur OK pour fermer l'éditeur du schéma. Dans la boîte de dialogue qui s'ouvre, cliquez sur Yes pour propager le schéma au composant suivant.

  6. Dans les champs Json query de la table Mapping, saisissez les requêtes JSONPath entre guillemets doubles pour spécifier les nœuds contenant les données souhaitées. Dans cet exemple, saisissez respectivement les requêtes JSONPath "title", "category", "author" et "price" relatives aux quatre nœuds enfant du nœud book.

  7. Appuyez sur les touches Ctrl+S pour enregistrer le Job.

  8. Appuyez sur F6 pour exécuter le Job.

    Comme affiché ci-dessus, les informations sur les livres sont extraites des données source JSON et affichées sous forme de table plate dans la console.

Scénario 3 : Extraire des données JSON d'un fichier en utilisant XPath

Basé sur Scénario 1 : Extraire des données JSON d'un fichier en utilisant le JSONPath sans configurer de nœud de boucle, ce scénario montre comment extraire le nom du magasin et les informations sur les livres à partir du fichier JSON Store.json qui utilise des requêtes XPath et comment afficher les données plates extraites dans la console.

  1. Dans le Studio, ouvrez le Job utilisé dans Scénario 1 : Extraire des données JSON d'un fichier en utilisant le JSONPath sans configurer de nœud de boucle pour l'afficher dans l'espace de modélisation graphique.

  2. Double-cliquez sur le composant tFileInputJSON pour ouvrir sa vue Basic settings.

  3. Sélectionnez Xpath dans la liste déroulante Read By.

  4. Cliquez sur le bouton [...] à côté de Edit schema pour ouvrir l'éditeur du schéma.

    Sélectionnez les cinq colonnes ajoutées précédemment et cliquez sur le bouton [x] pour les supprimer toutes.

    Cliquez sur le bouton [+] pour ajouter cinq colonnes, store_name, book_title, book_category et book_author de type String et book_price de type Double.

    Cliquez sur OK pour fermer l'éditeur du schéma. Dans la boîte de dialogue qui s'ouvre, cliquez sur Yes pour propager le schéma au composant suivant.

  5. Dans le champ Loop XPath query, saisissez la requête XPath entre guillemets doubles pour spécifier sur quel nœud la boucle doit se baser. Dans cet exemple, "/store/goods/book".

  6. Dans les champs XPath query de la table Mapping, saisissez les requêtes XPath entre guillemets doubles pour spécifier les nœuds contenant les données souhaitées.

    • Pour la colonne store_name, saisissez la requête XPath "../../name" relative au nœud name.

    • Pour les colonnes book_title, book_category, book_author et book_price, saisissez respectivement les requêtes XPath "title", "category", "author" et "price" relatives aux quatre nœuds enfants du nœud book.

  7. Appuyez sur les touches Ctrl+S pour enregistrer le Job.

  8. Appuyez sur F6 pour exécuter le Job.

    Comme affiché ci-dessus, le nom du magasin, son adresse et les informations sur les livres sont extraites des données source JSON et affichées sous forme de table plate dans la console.

Scénario 4 : Extraire des données JSON d'une URL

Dans ce scénario, le tFileInputJSON récupère des données du nœud friends du fichier JSON facebook.json sur le Web. Ce fichier contient les données d'un utilisateur de Facebook que le tExtractJSONFields extrait à partir du nœud friends pour les écrire en données plates.

Le fichier JSON facebook.json est déployé sur le serveur Tomcat, situé dans le dossier <tomcat path>/webapps/docs. Le contenu du fichier se présente comme suit :

{"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"
                }
            ]}
        }
    ]
}}

Ajouter et relier les composants

  1. Créez un nouveau Job et ajoutez un composant tFileInputJSON, un tExtractJSONFields et deux tLogRow en saisissant leur nom dans l'espace de modélisation graphique ou en les déposant depuis la Palette.

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

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

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

Configurer les composants

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

  2. Sélectionnez JsonPath without loop dans la liste déroulante Read By. Cochez ensuite la case Use Url et dans le champ URL qui s'affiche, saisissez l'URL du fichier facebook.json à partir duquel les données seront récupérées. Dans cet exemple, http://localhost:8080/docs/facebook.json.

  3. Cliquez sur le bouton [...] à côté de Edit schema et, dans la boîte de dialogue [Schema], définissez le schéma en ajoutant une colonne friends de type String.

    Cliquez sur OK pour fermer la boîte de dialogue et acceptez la propagation proposée par la boîte de dialogue qui s'ouvre.

  4. Dans la table Mapping, saisissez la requête JSONPath "$.user.friends[*]" à côté de la colonne friends pour récupérer le nœud friends entier à partir du fichier source.

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

  6. Sélectionnez Xpath dans la liste déroulante Read By.

  7. Dans le champ Loop XPath query, saisissez l'expression XPath entre guillemets doubles pour spécifier le nœud sur lequel la boucle doit se baser. Dans cet exemple, il s'agit de "/likes/data".

  8. Cliquez sur le bouton [...] à côté de Edit schema et, dans la boîte de dialogue [Schema], définissez le schéma en ajoutant cinq colonnes de type String, id, name, like_id, like_name et like_category, qui vont contenir les données des nœuds associés sous le champ JSON friends.

    Cliquez sur OK pour fermer la boîte de dialogue et acceptez la propagation proposée par la boîte de dialogue qui s'ouvre.

  9. Dans les champs XPath query de la table Mapping, saisissez les requêtes XPath entre guillemets doubles pour spécifier les nœuds JSON qui doivent contenir les données souhaitées. Dans cet exemple,

    • "../../id" (effectue une requête sur le nœud "/friends/id") pour la colonne id,

    • "../../name" (effectue une requête sur le nœud "/friends/name") pour la colonne name,

    • "id" pour la colonne like_id,

    • "name" pour la colonne like_name et

    • "category" pour la colonne like_category.

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

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

Exécuter le Job

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

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

    Comme affiché ci-dessus, les données sur les amis (friends) dans le fichier JSON spécifié en utilisant l'URL sont extraites puis les données du nœud friends sont extraites et affichées dans une table plate.

Propriétés du tFileInputJSON dans des Jobs Talend Map/Reduce

Avertissement

Ce composant est disponible dans la Palette du Studio Talend si vous avez souscrit à l'une des solutions Big Data de Talend.

Dans un Job Talend Map/Reduce, letFileInputJSON, ainsi que tout le Job Map/Reduce l'utilisant, génère nativement du code Map/Reduce. Cette section présente les propriétés spécifiques du tFileInputJSON lorsqu'il est utilisé dans cette situation. Pour plus d'informations concernant les Jobs Talend Map/Reduce, consultez le Guide de prise en main de Talend Big Data.

Famille du composant

MapReduce / 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.

Les champs suivants sont alors pré-remplis à l'aide des données collectées.

Pour plus d'informations concernant le nœud File Json, consultez la section concernant la configuration d'un schéma de fichier JSON dans le Guide utilisateur du Studio Talend.

 

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.

 

Folder/File

Saisissez le chemin d'accès au fichier ou au dossier de HDFS duquel extraire les données.

Si le chemin saisi pointe vers un dossier, tous les fichiers de ce dossier seront lus.

Si le fichier à lire est un fichier compressé, saisissez son nom ainsi que son extension. Le tFileInputJSON décompresse le fichier automatiquement à l'exécution. Les formats de compression, ainsi que les extensions correspondantes, sont :

  • DEFLATE : *.deflate

  • gzip : *.gz

  • bzip2 : *.bz2

  • LZO : *.lzo

Assurez-vous que la connexion à la distribution Hadoop utilisée est correctement configurée dans l'onglet Hadoop configuration de la vue Run.

 

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.

 

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.

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

 

Validate date

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

 

Encoding

Sélectionnez l'encodage à partir de la liste ou sélectionnez Custom et définissez-le manuellement.

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

Dans un Job Talend Map/Reduce, ce composant est utilisé comme composant de début et requiert un composant de transformation comme lien de sortie. Les autres composants utilisés avec lui doivent également être des composants Map/Reduce. Ils génèrent nativement du code Map/Reduce pouvant être directement exécuté dans Hadoop.

Une fois qu'un Job Map/Reduce est ouvert dans l'espace de modélisation graphique, le tFileInputJSON et sa famille MapReduce apparaissent 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.

Prérequis

La distribution Hadoop doit être correctement installée afin de garantir les interactions avec le Studio Talend. La liste suivante présente des informations d'exemple relatives à MapR.

  • Assurez-vous d'avoir installé le client MapR sur la même machine que le Studio Talend et d'avoir ajouté la bibliothèque client de MapR dans la variable PATH de cette machine. D'après la documentation de MapR, la ou les librairies du client MapR correspondant à chaque OS peuvent être trouvées MAPR_INSTALL\ hadoop\hadoop-VERSION\lib\native. Par exemple, pour Windows, la bibliothèque est lib\MapRClient.dll dans le fichier Jar du client MapR. Pour plus d'informations, consultez la page suivante sur le site de MapR : http://www.mapr.com/blog/basic-notes-on-configuring-eclipse-as-a-hadoop-development-environment-for-mapr (en anglais).

    Si vous n'ajoutez pas de librairie, il est possible que vous rencontriez l'erreur suivante : no MapRClient in java.library.path.

  • Configurez l'argument -Djava.library.path, par exemple, dans la zone Job Run VM arguments de la vue Run/Debug de la boîte de dialogue [Preferences]. Cet argument fournit au studio le chemin d'accès à la bibliothèque native du client MapR. Cela permet aux utilisateurs en souscription d'utiliser entièrement l'aperçu des données (Data viewer) afin de visualiser localement dans le studio les données stockées dans MapR. Pour plus d'informations concernant la configuration de cet argument, consultez la section expliquant comment visualiser les données dans le Guide de prise en main de Talend Big Data.

Pour plus d'informations concernant l'installation d'une distribution Hadoop, consultez le manuel correspondant à la distribution Hadoop que vous utilisez.

Scénarios associés

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

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

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

File / Input

 

Basic settings

Define a storage configuration component

Sélectionnez le composant de configuration à utiliser pour fournir les informations de configuration pour la connexion au système de fichiers cible, comme HDFS ou S3.

Si vous laissez cette case décochée, le système de fichiers cible est le système local.

Notez que le composant de configuration à utiliser doit se trouver dans le même Job. Par exemple, si vous avez ajouté un tHDFSConfiguration dans votre Job, vous pouvez le sélectionner pour écrire le résultat dans un système HDFS donné.

 

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.

Les champs suivants sont pré-renseignés avec les données récupérées.

Pour plus d'informations concernant le nœud File Json, consultez la section concernant la configuration d'un schéma de fichier JSON dans le Guide utilisateur du Studio Talend.

 

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.

 

Folder/File

Parcourez votre système ou saisissez le chemin d'accès aux données à utiliser dans le système de fichiers.

Si vous souhaitez spécifier plus d'un fichier ou répertoire dans ce champ, séparez chaque chemin d'accès par une virgule (,).

Si le fichier à lire est un fichier compressé, saisissez son nom et son extension. Ce composant décompresse automatiquement le fichier lors de l'exécution. Les formats de compression supportés et leur extension sont :

  • DEFLATE : *.deflate

  • gzip : *.gz

  • bzip2 : *.bz2

  • LZO : *.lzo

Assurez-vous d'avoir configuré correctement la connexion dans le composant de configuration sélectionné dans la liste des composants de configuration.

 

Die on error

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

 

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.

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

 

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 à partir de la liste ou sélectionnez Custom et définissez-le manuellement.

Utilisation dans des Jobs Spark Batch

Dans un Job Talend Spark Batch, ce composant est utilisé comme composant de début et requiert un lien de sortie. Les autres composants utilisés avec lui doivent également être des composants Spark Batch. Ils génèrent nativement du code Spark pouvant être directement exécuté 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.

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

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.

Scénario associé

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

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

File / Input

 

Basic settings

Define a storage configuration component

Sélectionnez le composant de configuration à utiliser pour fournir les informations de configuration pour la connexion au système de fichiers cible, comme HDFS ou S3.

Si vous laissez cette case décochée, le système de fichiers cible est le système local.

Notez que le composant de configuration à utiliser doit se trouver dans le même Job. Par exemple, si vous avez ajouté un tHDFSConfiguration dans votre Job, vous pouvez le sélectionner pour écrire le résultat dans un système HDFS donné.

 

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.

Les champs suivants sont pré-renseignés avec les données récupérées.

Pour plus d'informations concernant le nœud File Json, consultez la section concernant la configuration d'un schéma de fichier JSON dans le Guide utilisateur du Studio Talend.

 

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.

 

Folder/File

Parcourez votre système ou saisissez le chemin d'accès aux données à utiliser dans le système de fichiers.

Si vous souhaitez spécifier plus d'un fichier ou répertoire dans ce champ, séparez chaque chemin d'accès par une virgule (,).

Si le fichier à lire est un fichier compressé, saisissez son nom et son extension. Ce composant décompresse automatiquement le fichier lors de l'exécution. Les formats de compression supportés et leur extension sont :

  • DEFLATE : *.deflate

  • gzip : *.gz

  • bzip2 : *.bz2

  • LZO : *.lzo

Assurez-vous d'avoir configuré correctement la connexion dans le composant de configuration sélectionné dans la liste des composants de configuration.

 

Die on error

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

 

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.

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

 

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 à partir de la liste ou sélectionnez Custom et définissez-le manuellement.

Utilisation dans des Jobs Spark Streaming

Dans un Job Talend Spark Streaming, il est utilisé en tant que composant d'entrée et nécessite un lien de sortie. Les autres composants utilisés avec celui-ci doivent également être des composants Spark Streaming. Ils génèrent nativement du code Spark pouvant être exécuté directement dans un cluster Spark.

Ce composant est utilisé uniquement pour fournir un flux Lookup (le côté droit d'une opération de jointure) au flux principal d'un composant tMap. Dans cette situation, le modèle de lookup utilisé par ce tMap doit être Load once.

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.

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

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.

Scénario associé

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