Scénario 1 : Extraire les données XML d'un champ d'une table de base de données - 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

Ce scénario est composé de trois composants et permet de lire la structure XML contenue dans les champs d'une base de données et d'en extraire les données.

  1. Glissez les composants tMysqlInput de la famille Database > Mysql, tExtractXMLField de la famille Xml et un composant tFileOutputDelimited de la famille File > Output de la Palette dans le Job designer.

    Reliez les composants entre eux via des connexions de type Main > Row.

  2. Double-cliquez sur le composant tMysqlInput pour paramétrer ses propriétés dans l'onglet Basic settings de la vue Component :

  3. Si votre schéma est déjà stocké sous le nœud Db Connections dans le Repository, sélectionnez l'option Repository dans le champ Schema puis choisissez les métadonnées appropriées à partir de la liste.

    Pour plus d'informations concernant le stockage des métadonnées de schéma dans la vue Repository, consultez le Guide utilisateur du Studio Talend.

    Si vous n'avez encore défini aucun schéma, sélectionnez l'option Built-in dans les listes Schema et Property Type et saisissez manuellement les informations de connexion et la structure des données dans un schéma. Pour plus d'informations sur les propriétés du composant tMysqlInput, consultez tMysqlInput.

  4. Dans le champ Table Name, saisissez le nom de la table dont les champs contiennent les données XML. Dans ce scénario, la table se nomme customerdetails et ne contient qu'une seule colonne.

  5. Cliquez sur le bouton Guess Query pour récupérer la requête correspondant à votre schéma.

  6. Dans le Job designer, double-cliquez sur le composant tExtractXMLField pour paramétrer ses propriétés dans l'onglet Basic settings.

  7. Cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent. Vous pouvez cliquer sur le bouton [...] à côté du champ Edit schema pour consulter le schéma.

    La colonne Column du tableau Mapping sera automatiquement renseignée avec la description du fichier que vous avez configuré.

  8. Dans la liste Xml field, sélectionnez la colonne dont vous souhaitez extraire le contenu XML. La colonne se nomme CustomerDetails et est l'unique colonne de la table customerdetails.

    Dans le champ Loop XPath query, saisissez le nœud de l'arborescence sur lequel effectuer la boucle afin de récupérer les données.

    Dans la colonne Xpath query, saisissez entre guillemet le nœud du champ XML contenant les données que vous voulez extraire. Dans ce scénario, l'objectif est d'extraire les noms des clients, saisissez donc "CustomerName" qui correspond à l'élément XML contenant cette information.

  9. Dans le Job designer, double-cliquez sur le composant tFileOutputDelimited pour paramétrer ses propriétés dans l'onglet Basic settings.

  10. Dans le champ File Name, indiquez le répertoire et le nom du fichier de sortie. Pour ce scénario, appelez le fichier CustomerNames.csv.

    Cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent. Vous pouvez cliquer sur le bouton [...] à côté du champ Edit schema pour consulter le schéma.

  11. Enregistrez le Job et appuyez sur F6 pour l'exécuter.

Le Job retourne les noms des clients contenus sous le nœud CustomerName du champ CustomerDetails de la table.