Scénario 1 : Ajouter une colonne et modifier les 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 Java est un Job à trois composants permettant de créer de manière aléatoire des données de test à l'aide du composant tRowGenerator, dupliquer la colonne à modifier à l'aide du composant tMap et de modifier les données à insérer en utilisant une expression SQL dans le composant tMysqlOutput.

  • Cliquez et déposez les composants suivants dans l'éditeur graphique : tRowGenerator, tMap et tMysqlOutput.

  • Connectez-les à l'aide de liens Row Main.

  • Dans l'éditeur graphique, double-cliquez sur le tRowGenerator pour afficher l'onglet Basic settings.

  • Cliquez sur le bouton [...] à côté du champ Edit schema pour définir les données à transmettre au composant tMap, dans ce scénario, les deux colonnes name et random_date.

  • Cliquez sur OK pour fermer la boîte de dialogue.

  • Cliquez sur le bouton [...] à côté du champ RowGenerator Editor pour ouvrir l'éditeur du tRowGenerator pour paramétrer les données à générer.

  • Cliquez dans le champ Functions correspondant et sélectionnez une fonction pour chacune des deux colonnes, getFirstName pour la colonne name et getrandomDate pour la colonne random_date.

  • Dans le champ Number of Rows for Rowgenerator, saisissez 10 pour ne générer que dix lignes de prénoms et cliquez sur Ok pour fermer l'éditeur.

  • Double-cliquez sur le composant tMap pour ouvrir l'éditeur du tMap. L'éditeur s'ouvre et affiche les données d'entrée du composant tRowGenerator.

  • Dans le panneau Schema editor de l'éditeur du tMap, cliquez sur le bouton [+] de la table de sortie pour ajouter deux lignes et nommez la première colonne random_date et la deuxième random_date1.

Dans ce scénario, l'objectif est de dupliquer la colonne random_date et adapter le schéma afin de modifier les données à transférer dans le composant de sortie.

  • Dans l'éditeur du tMap, glissez la ligne random_date de la table d'entrée vers les lignes random_date et random_date1 de la table de sortie.

  • Cliquez sur OK pour fermer l'éditeur.

  • Dans l'éditeur graphique, double-cliquez sur le composant tMysqlOutput pour afficher l'onglet Basic settings et paramétrer ses propriétés.

  • Dans la liste Property Type, sélectionnez l'option Repository et cliquez sur le bouton [...] pour ouvrir la boîte de dialogue [Repository content] et sélectionnez la connexion à la base de données adéquate. Les informations de connexion sont renseignées automatiquement.

  • Configurez les informations de connexion à la base de données dans les champs correspondants.

Note

Si vous n'avez pas stocké de connexion à votre base de données sous le nœud DB connections sous le nœud Metadata du Repository, sélectionnez l'option Built-in dans la liste Property Type et renseignez les informations de connexion manuellement.

  • Cliquez sur le bouton [...] à côté du champ Table et sélectionnez la table à modifier : la table Dates dans ce scénario.

  • Dans la liste Action on table, sélectionnez l'option Drop table if exists and create et sélectionnez Insert dans la liste Action on data.

  • Si nécessaire, cliquez sur Sync columns pour récupérer le schéma de colonnes du composant tMap.

  • Cliquez sur l'onglet Advanced settings pour afficher la vue correspondante et définir les paramètres avancés du composant.

  • Dans la zone Additional Columns, paramétrez les modifications à appliquer aux colonnes.

    Dans ce scénario, la colonne One_month_later remplace la colonne random_date_1 et les données aussi sont modifiées à l'aide d'une requête SQL ajoutant un mois à la date générée aléatoirement dans la colonne random_date_1. Par exemple : 2007-08-12 devient 2007-09-12.

    -Saisissez One_Month_Later dans la cellule Name.

    -Dans la cellule SQL expression, saisissez la requête SQL ajoutant un mois, dans ce scénario : "adddate(Random_date, interval 1 month)".

    -Sélectionnez Replace dans la liste Position.

    -Sélectionnez Random_date1 dans la liste Reference column.

Note

Pour ce Job, vous dupliquez la colonne random_date_1 dans la table avant de la remplacer par la colonne One_Month_Later. Le but de cette manipulation était de voir les modifications apportées en amont.

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

La nouvelle colonne One_month_later remplace la colonne random_date1 dans la base de données et ajoute un mois à chaque date générée aléatoirement.

Voir également Scénario : Ecrire une ligne dans une table d'une base de données MySQL via une connexion ODBC du composant tDBOutput.