Mapper deux entrées en une seule sortie - 7.3

Guide d'utilisation de Talend Data Mapper

Version
7.3
Language
Français (France)
Product
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Création de Jobs

Configurez votre map afin de combiner deux boucles parallèles en des boucles imbriquées.

Procédure

  1. Glissez-déposez l'élément row1Record sur l'élément de sortie customer pour mapper automatiquement les éléments id, name et city.
  2. Cliquez sur l'élément de sortie bill et déposez une fonction SimpleLoop dans son onglet Loop, puis déposez l'élément d'entrée row2Record sur l'argument Input Map Element.
  3. Déposez une fonction Equal sur l'argument Filter, déposez l'élément d'entrée customerId sur l'argument First Value et la sortie customer/id sur Second Value.

    Exemple

  4. Glissez-déspoez l'entrée billId sur la sortie bill/id et l'entrée price sur la sortie price.
  5. Sauvegardez votre map, ouvrez le Job dans la perspective Integration, allez dans l'onglet Run et exécutez le Job.

Résultats

Le fichier de sortie est généré à l'emplacement spécifié dans le composant tFileOuputRaw. Il doit ressembler à ceci :
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <customer>
      <id>111</id>
      <name>John</name>
      <city>New York</city>
      <bill>
         <id>asd-589</id>
         <price>123.58</price>
      </bill>
   </customer>
   <customer>
      <id>591</id>
      <name>Billy</name>
      <city>Los Angeles</city>
      <bill>
         <id>sry-84u</id>
         <price>352.89</price>
      </bill>
      <bill>
         <id>xoi-htr</id>
         <price>36.55</price>
      </bill>
   </customer>
   <customer>
      <id>891</id>
      <name>Bob</name>
      <city>Chicago</city>
      <bill>
         <id>111-gfs</id>
         <price>3.58</price>
      </bill>
      <bill>
         <id>8j9-t44</id>
         <price>99.95</price>
      </bill>
      <bill>
         <id>999-gre</id>
         <price>799.95</price>
      </bill>
   </customer>
</root>