Insérer une colonne et modifier les données en utilisant le tMysqlOutput - 7.3

MySQL

Version
7.3
Language
Français
Product
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 Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Systèmes tiers > Composants Database (Intégration) > Composants MySQL
Gouvernance de données > Systèmes tiers > Composants Database (Intégration) > Composants MySQL
Qualité et préparation de données > Systèmes tiers > Composants Database (Intégration) > Composants MySQL
Last publication date
2024-02-22

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.

    Remarque :

    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.

Remarque :

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.