Accéder au contenu principal

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.

Note InformationsRemarque :

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.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !