Insérer une colonne et modifier les données en utilisant le tMysqlOutput
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.
Pour plus de technologies supportées par Talend, consultez Composants Talend.
-
Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : tRowGenerator, tMap et tMySQLOutput.
-
Connectez le tRowGenerator, le tMap, et le tMysqlOutput à l'aide du lien Row Main.
-
Dans l'espace de modélisation graphique, double-cliquez sur le tRowGenerator pour afficher l'onglet Basic settings.
-
Cliquez sur le bouton [...] à côté de Edit Schema pour définir les données à passer au composant tMap, deux colonnes dans ce scénario, name et random_date.
-
Cliquez sur OK pour fermer cette boîte de dialogue.
-
Cliquez sur le bouton [...] près de RowGenerator Editor pour ouvrir l'éditeur et définir 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 de mapping. 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.
-
Sélectionnez Repository dans la liste Property Type puis cliquez sur le bouton [...] afin d'ouvrir la boîte de dialogue Repository Content et de sélectionner la connexion à la base de données. Les informations de connexion s’affichent automatiquement dans les champs correspondants.
Note InformationsRemarque :Si vous n'avez pas stocké de connexion à votre base de données 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 [...] près de l'option Table et sélectionnez la table à modifier, 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.
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 votre 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.