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

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
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
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

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.