Scénario 3 : Transformer un schéma d'intégration de données en un schéma complexe - 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

Dans le scénario suivant, vous créez un Job de trois composants qui génère des données aléatoires à partir d'un composant d'entrée, transforme ces données à l'aide d'un mapping précédemment créé dans la perspective Mapping puis écrit les données transformées dans un fichier JSON. Ce scénario utilise les métadonnées de intégration de données Talend pour l'entrée et les métadonnées Talend Data Mapper pour la sortie.

Créez une nouvelle structure dans la perspective Mapping

  1. Dans la vue Data Mapper de la perspective Mapping, développez le nœud Hierarchical Mapper, cliquez-droit sur Structures et sélectionnez New > Structure.

  2. Dans la boîte de dialogue [New Structure] qui s'ouvre, sélectionnez Create a new structure where you manually enter elements puis cliquez sur Next.

  3. Nommez votre structure JSON_structure puis cliquez sur Next.

  4. Dans la boîte de dialogue [Select Representation], sélectionnez JSON dans la liste de représentations puis cliquez sur Next.

  5. Sélectionnez Don't select a sample document for now puis cliquez sur Finish.

Ajouter les éléments à la nouvelle structure

  1. Dans la vue Data Mapper de la perspective Mapping, développez le nœud Hierarchical Mapper et le nœud Structures puis ouvrez la structure JSON_structure créée précédemment.

  2. Dans la structure JSON_structure, cliquez-doit afin d'ajouter un nouvel élément. Cliquez sur New element et nommez ce nouvel élément Root.

  3. Procédez de la même manière afin d'ajouter un élément people sous l'élément Root, un élément person sous l'élément people et quatre nouveaux éléments sous l'élément person : firstname, lastname, address et city.

  4. Pour l'élément person, changez la valeur de l'option Occurs Max en -1 (illimité).

  5. Appuyez sur Ctrl + S pour sauvegarder vos changements.

Ajouter et relier les composants

  1. Dans le Repository de la perspective Integration, cliquez-droit sur Job Designs puis cliquez sur Create Standard Job afin de créer un Job. Nommez-le di_to_json. Si vous le souhaitez, ajoutez un objectif dans le champ Purpose et une description dans le camp Description. Cliquez sur Finish.

  2. Cliquez sur un emplacement dans l'espace de modélisation graphique afin d'ajouter le premier composant. Commencez à saisir tRowGenerator puis cliquez sur le nom du composant lorsqu'il s'affiche dans la liste proposée afin de le sélectionner.

  3. Procédez de la même manière afin d'ajouter un composant tHMap et un composant tFileOutputRaw.

  4. Reliez le tRowGenerator au tHMap et le tHMap au tFileOutputRaw à l'aide de liens Row > Main. Lorsque le Studio vous propose de récupérer le schéma du composant cible, cliquez sur Yes.

Définir les propriétés du tRowGenerator

  1. Sélectionnez le tRowGenerator afin de définir ses propriétés.

  2. Dans l'onglet Basic settings, cliquez sur le bouton [...] à côté du champ RowGenerator Editor afin de définir les lignes à générer.

  3. Dans la boîte de dialogue qui s'ouvre, cliquez quatre fois sur le bouton [+] afin d'ajouter quatre colonnes au schéma. Nommez ces colonnes firstname, lastname, address et city.

  4. Pour chaque colonne, modifiez la fonction afin qu'elle corresponde à la fonction notée dans le tableau suivant. Pour ce faire, cliquez sur le colonne Functions et parcourez la liste de fonctions disponibles jusqu'à la fonction désirée puis cliquez sur OK afin de valider.

    firstname

    TalendDataGenerator.getFirstName

    lastname

    TalendDataGenerator.getFirstName

    address

    TalendDataGenerator.getUsStreet

    city

    TalendDataGenerator.getUsCity

Définir les propriétés du tFileOutputRaw

  1. Sélectionnez le tFileOutputRaw afin de définir ses propriétés.

  2. Dans l'onglet Basic settings, cliquez sur le bouton [...] puis parcourez votre système jusqu'à l'emplacement où vous souhaitez enregistrer le fichier de sortie ous saisissez manuellement le chemin entre guillemets doubles. Nommez ce fichier output.json

    Laissez les autres champs tels quels.

Définir les propriétés du tHMap

  1. Sélectionnez le tHMap afin de définir ses propriétés.

  2. Cliquez sur le bouton [...] à côté du champ Open Map Editor afin de créer un nouveau mapping.

  3. Dans la boîte de dialogue [tHMap Structure Generate/Select] qui s'ouvre, sélectionnez Generate hierarchical mapper structure based on the schema pour la structure d'entrée, cliquez sur Next puis sur Finish. Cela signifie que le Talend Data Mapper génère automatiquement une structure en se basant sur le schéma du composant d'entrée (tRowGenerator dans ce cas).

  4. Pour la structure de sortie, sélectionnez Select an existing hierarchical mapper structure puis cliquez sur Next.

  5. Sélectionnez la structure JSON_structure créée précédemment, cliquez sur Next puis sur Finish.

  6. Dans l'éditeur Map editor qui s'ouvre, déposez l'élément row de la structure d'entrée Input (Map) sur l'élément person de la structure Output (JSON) afin de faire correspondre chaque élément d'entrée à l'élément de sortie correspondant.

  7. Double-cliquez sur SimpleLoop dans l'onglet Loop puis, dans la boîte de propriétés qui s'ouvre, cochez la case Stream Input puis cliquez sur OK.

  8. Appuyez sur Ctrl+S afin de sauvegarder vos changements.

Sauvegarder et exécuter le Job

  1. Appuyez sur Ctrl+S afin de sauvegarder votre Job.

  2. Dans l'onglet Run, cliquez sur Run afin d'exécuter le Job.

  3. Parcourez votre système jusqu'à l'emplacement où le fichier de sortie est stocké afin de vérifier qu'un fichier JSON contenant les données attendues a été créé.