Configurer les métadonnées JSON pour un fichier de sortie - 6.3

Talend Big Data Platform Studio Guide utilisateur

EnrichVersion
6.3
EnrichProdName
Talend Big Data Platform
task
Création et développement
Qualité et préparation de données
EnrichPlatform
Studio Talend

Cette section décrit comment définir des métadonnées JSON pour un fichier de sortie. Pour définir les métadonnées JSON pour un fichier d'entrée, consultez Configurer les métadonnées JSON pour un fichier d'entrée.

Définir les propriétés générales

  1. Dans l'assistant, renseignez les informations générales dans les champs correspondants afin d'identifier les métadonnées du fichier JSON, notamment les champs Name, Purpose et Description.

    Le champ Name est obligatoire et les informations contenues dans le champ Description apparaissent en tant qu'info-bulle lorsque vous placez le pointeur de votre souris sur la connexion.

    Note

    Dans cette étape, il est recommandé de saisir les informations vous permettant de distinguer vos connexions d'entrée et de sortie, puisque l'étape d'après vous demande de choisir entre les deux.

  2. Si nécessaire, configurez le numéro de version et le statut, respectivement dans les champs Version et Status.

    Vous pouvez également gérer la version et le statut d'un élément du référentiel dans la boîte de dialogue [Project Settings]. Pour plus d'informations, consultez Gérer les versions et Gérer les statuts respectivement.

  3. Au besoin, cliquez sur le bouton Select à côté du champ Path afin de sélectionner un dossier sous le nœud File Json pour contenir votre nouvelle connexion à un fichier.

  4. Cliquez sur Next pour configurer le type de métadonnées.

Configurer le type de métadonnées et charger le fichier JSON modèle

Dans cette étape, vous allez définir le type de schéma, Input ou Output. Dans cet exemple, sélectionnez le type Output.

  1. Dans la boîte de dialogue, sélectionnez Output JSON, cliquez sur Next pour passer à l'étape suivante de l'assistant.

  2. Choisissez de créer vos métadonnées manuellement ou à partir d'un fichier modèle JSON existant.

    Si vous choisissez de le créer manuellement (en sélectionnant Create manually), vous devez configurer vous-même votre schéma, vos colonnes sources et vos colonnes cibles. Le fichier sera créé lors de l'utilisation dans un Job d'un composant de sortie, comme le tWriteJSONField. Dans cet exemple, créez le schéma de sortie en chargeant un ficher JSON existant.

    Dans cet exemple, créez les métadonnées de sortie en chargeant un fichier JSON existant. Sélectionnez donc l'option Create from a file.

  3. Cliquez sur le bouton Browse... à côté du champ JSON File, parcourez votre système jusqu'au fichier JSON dont la structure va être appliquée au fichier/champ de sortie JSON et double-cliquez sur le fichier. Sinon, vous pouvez saisir le chemin complet ou l'URL pointant vers le fichier JSON modèle.

    La zone File Viewer affiche un aperçu de la structure JSON et la zone File Content affiche au maximum les cinquante premières lignes du fichier.

  4. Renseignez le champ Encoding si le système n'a pas détecté automatiquement l'encodage.

  5. Dans le champ Limit, définissez le nombre de colonnes sur lesquelles effectuer la requête XPath, ou saisissez 0 si vous souhaitez l'effectuer sur toutes les colonnes.

  6. Vous pouvez également, de manière facultative, spécifier un chemin vers un fichier de sortie.

  7. Cliquez sur Next pour définir le schéma.

Définir le schéma

Lorsque les opérations précédentes sont terminées, les colonnes de la zone Linker Source sont automatiquement mappées vers celles correspondantes dans la zone Linker Target, comme le montrent les flèches bleues.

Dans cette étape, configurez le schéma de sortie. Le tableau suivant décrit comment faire :

Pour...Effectuer...
Définir un élément de boucle

Dans la zone Linker Target, cliquez-droit sur l'élément qui vous intéresse et sélectionnez Set As Loop Element dans le menu contextuel.

Note

Cette opération est obligatoire pour définir un élément sur lequel effectuer une boucle.

Définir un élément de groupe

Dans la zone Linker Target, cliquez-droit sur l'élément qui vous intéresse et sélectionnez Set As Group Element dans le menu contextuel.

Note

Vous pouvez configurer l'élément parent de l'élément de boucle en tant que group element à condition que l'élément parent ne soit pas la racine de l'arborescence JSON.

Créer un élément fils pour un élément

Dans la zone Linker Target,

  • Cliquez-droit sur l'élément qui vous intéresse et sélectionnez Add Sub-element dans le menu contextuel, saisissez un nom pour le sous-élément dans la boîte de dialogue qui apparaît, puis cliquez sur OK.

  • Sélectionnez l'élément qui vous intéresse, cliquez sur le bouton [+] en bas, sélectionnez Create as sub-element dans la boîte de dialogue qui apparaît, puis cliquez sur OK. Ensuite, saisissez un nom pour le sous-élément dans la boîte de dialogue suivante et cliquez sur OK.

Créer un attribut pour un élément

Dans la zone Linker Target,

  • Cliquez-droit sur l'élément qui vous intéresse et sélectionnez Add Attribute dans le menu contextuel, saisissez un nom pour l'attribut dans la boîte de dialogue qui apparaît et cliquez sur OK.

  • Sélectionnez l'élément qui vous intéresse, cliquez sur le bouton [+] en bas, sélectionnez Create as attribute dans la boîte de dialogue qui apparaît, puis cliquez sur OK. Ensuite, saisissez un nom pour l'attribut dans la boîte de dialogue suivante et cliquez sur OK.

Créer un espace de noms pour un élément

Dans la zone Linker Target,

  • Cliquez-droit sur l'élément qui vous intéresse et sélectionnez Add Name Space dans le menu contextuel, saisissez un nom pour l'espace de nommage dans la boîte de dialogue qui apparaît et cliquez sur OK.

  • Sélectionnez l'élément qui vous intéresse, cliquez sur le bouton [+] en bas, sélectionnez Create as name space dans la boîte de dialogue qui apparaît, puis cliquez sur OK. Ensuite, saisissez un nom pour l'espace de nommage dans la boîte de dialogue suivante et cliquez sur OK.

Supprimer un ou plusieurs élément(s)/attribut(s)/espace(s) de noms

Dans la zone Linker Target,

  • Cliquez-droit sur les éléments/attributs/espaces de nommage qui vous intéressent et sélectionnez Delete dans le menu contextuel.

  • Sélectionnez les éléments/attributs/espaces de nommage qui vous intéressent et cliquez sur le bouton [x] en bas.

  • Sélectionnez les éléments/attributs/espaces de nommage qui vous intéressent et appuyez sur la touche Suppr.

    Note

    Supprimer un élément supprime également ses enfants, s'il en a.

Ajuster l'ordre d'un ou plusieurs élément(s)

Dans la zone Linker Target, sélectionnez l'élément qui vous intéressent et cliquez sur les boutons et , afin de déplacer vers le haut ou vers le bas, respectivement, l'élément sélectionné.

Configurer une valeur statique pour un élément/attribut/espace de noms

Dans la zone Linker Target, cliquez-droit sur l'élément/l'attribut/l'espace de nommage qui vous intéresse et sélectionnez Set A Fix Value dans le menu contextuel.

Note

  • La valeur que vous avez configurée va remplacer toute valeur récupérée du flux d'entrée dans votre Job.

  • Vous pouvez configurer une valeur statique pour un élément fils de l'élément de boucle uniquement, à condition que l'élément n'ait pas lui-même d'enfants et pas de mapping source-cible sur lui.

Créer un mapping source-cible

Sélectionnez la colonne qui vous intéresse, dans la zone Linker Source, déposez-la sur le nœud qui vous intéresse de la zone Linker Target et sélectionnez Create as sub-element of target node, Create as attribute of target node, ou Add linker to target node selon vos besoins, dans la boîte de dialogue qui apparaît, puis cliquez sur OK.

Si vous choisissez une option qui n'est pas permise pour le nœud cible, un message d'avertissement apparaît et l'opération échoue.

Supprimer un mapping source-cibleDans la zoneLinker Target, cliquez-droit sur le nœud qui vous intéresse et sélectionnez Disconnect Linker dans le menu contextuel.
Créer une structure JSON à partir d'un autre fichier JSONCliquez-droit sur tout élément du schéma dans la zone Linker Target et sélectionnez Import XML Tree dans le menu contextuel afin de charger un autre fichier JSON. Ensuite, vous devez créer manuellement les mappings source-cible et définir à nouveau le schéma de sortie.

Note

Vous pouvez sélectionner et déposer plusieurs champs à la fois, en utilisant les touches Ctrl ou Maj pour effectuer une sélection multiple et rendre le mapping plus rapide. Vous pouvez également effectuer une sélection multiple lors des opérations de clic-droit.

  1. Dans la zone Linker Target, cliquez-droit sur l'élément que vous souhaitez définir comme élément de boucle et sélectionnez Set As Loop Element dans le menu contextuel.

    Dans cet exemple, configurez la boucle sur l'élément details.

  2. Personnalisez le mapping, si nécessaire.

  3. Cliquez sur Next pour finaliser le schéma.

Finaliser le schéma

La dernière étape de l'assistant affiche le schéma final généré et vous permet de le personnaliser selon vos besoins.

  1. Si nécessaire, renommez le schéma (par défaut, metadata) et saisissez un commentaire.

    Au besoin, personnalisez le schéma : ajoutez, supprimez ou déplacez des colonnes, exportez le schéma vers un fichier XML, ou remplacez le schéma en important le fichier XML de définition de schéma à l'aide de la barre d'outils.

    Assurez-vous que le type de données dans la colonne Type est correctement défini.

    Pour plus d'informations concernant les types de données Java, à savoir le modèle de date, consultez Java API Specification (en anglais).

    Les types de données Talend les plus utilisés sont les suivants :

    • Object : est un type de données Talend générique qui permet le traitement des données sans tenir compte de leur contenu, par exemple, un fichier de données non supporté peut être traité à l'aide d'un composant tFileInputRaw en spécifiant qu'il comporte un type de données Object.

    • List : est une liste d'éléments de type primitifs, séparés par un espace, dans une définition de Schéma XML, définis à l'aide de l'élément xsd:list.

    • Dynamic : est un type de données pouvant être fixé pour une seule colonne à la fin d'un schéma afin de permettre le traitement des champs tels que les colonnes VARCHAR(100), également nommées 'Column<X>' ou si l'entrée comporte un en-tête, dans les noms de colonne figurant dans l'en-tête. Pour plus d'informations, consultez Schéma dynamique.

    • Document : est un type de données permettant le traitement d'un document XML en entier sans tenir compte de son contenu.

  2. Si le fichier JSON sur lequel est basé le schéma a été modifié, cliquez sur le bouton Guess afin de générer à nouveau le schéma. Notez que, si vous avez personnalisé le schéma, la fonctionnalité Guess ne retient pas ces modifications.

  3. Cliquez sur Finish. La nouvelle connexion au fichier, avec son schéma, s'affiche sous le nœud File Json de la vue Repository.

Vous pouvez glisser-déposer la connexion au fichier ou son schéma de la vue Repository dans l'espace de modélisation graphique, en tant que composant tFileInputJSON ou tExtractJSONFields, ou sur un composant existant afin de réutiliser les métadonnées. Pour plus d'informations sur l'utilisation des métadonnées centralisées, consultez Comment utiliser les métadonnées centralisées dans un Job et Paramétrer un schéma du Repository.

Pour modifier une connexion à un fichier existante, cliquez-droit sur la connexion dans le Repository et sélectionnez Edit JSON pour ouvrir l'assistant de configuration du fichier.

Pour ajouter un nouveau schéma à une connexion à un fichier existante, cliquez-droit sur la connexion dans le Repository et sélectionnez Retrieve Schema dans le menu contextuel.

Avertissement

Si vous travaillez sur un projet géré par SVN ou Git alors que l'option Manual lock est cochée dans Talend Administration Center, assurez-vous de verrouiller manuellement votre connexion dans le Repository avant de récupérer ou de mettre à jour des schémas de table. Sinon, la connexion est en lecture seule et le bouton Finish de l'assistant n'est pas disponible.

Pour plus d'informations concernant le verrouillage et le déverrouillage d'un élément du projet ainsi que les différents types de verrouillage, consultez Travailler sur un projet partagé.

Pour éditer un schéma de fichier existant, cliquez-droit sur le schéma dans le Repository et sélectionnez Edit Schema dans le menu contextuel.