Scénario : Insérer des données dans une table de base de données et en extraire des informations - 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 décrit un Job lisant des données d'un fichier texte, relatives aux employés, insérant les données dans une table d'une base de données MSSQL et extrayant les données les plus utiles de la table, pour les afficher dans la console.

Ce scénario comprend les composants suivants :

  • un tMSSqlConnection : établit une connexion au serveur MSSQL.

  • un tFileInputDelimited : lit le fichier d'entrée, définit la structure des données et les envoie au composant suivant.

  • un tMSSqlOutput : écrit les données qu'il reçoit du composant précédent dans une table d'une base de données MSSQL.

  • un tMSSqlInput : extrait les données de la table selon une requête SQL.

  • un tLogRow : affiche les informations reçues du composant précédent dans la console.

  • un tMSSqlCommit : commite la transaction sur le serveur MSSQL connecté.

Construire le Job

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tMSSqlConnection, un tFileInputDelimited, un tMSSqlOutput, un tMSSqlInput, un tLogRow et un tMSSqlCommit.

  2. Connectez le tMSSqlConnection au tFileInputDelimited à l'aide d'un lien Trigger > OnSubjobOk.

  3. Reliez de la même manière le tFileInputDelimited au tMSSqlInput et le composant tMSSqlInput au tMSSqlCommit.

  4. Connectez le tFileInputDelimited au tMSSqlOutput à l'aide d'un lien Row > Main.

  5. Répétez l'opération pour connecter le tMSSqlInput au tLogRow.

Configurer les composants

Ouvrir une connexion au serveur MSSQL

  1. Double-cliquez sur le composant tMSSqlConnection pour ouvrir sa vue Basic settings.

  2. Dans le champ Host, saisissez l'adresse IP ou le nom de l'hôte du serveur MSSQL, 192.168.30.47 dans cet exemple.

  3. Dans le champ Port, saisissez le numéro du port du serveur de la base de données, 1433 dans ce scénario.

  4. Dans le champ Schema, saisissez le nom du schéma, dbo dans cet exemple.

  5. Dans le champ Database, saisissez le nom de la base de données, talend dans ce scénario.

  6. Dans les champs Username et Password, saisissez respectivement votre identifiant et votre mot de passe de connexion à MSSQL.

Lire les données d'entrée

  1. Double-cliquez sur le composant tFileInputDelimited pour ouvrir sa vue Component.

  2. Cliquez sur le bouton [...] à côté du champ File Name/Stream afin de parcourir votre système jusqu'au fichier d'entrée, par exemple D:/Input/Employee_Wage.txt. Ce fichier texte contient trois colonnes : id, name et wage.

    id;name;wage
    51;Harry;2300
    40;Ronald;3796
    17;Theodore;2174
    21;James;1986
    2;George;2591
    89;Calvin;2362
    84;Ulysses;3383
    4;Lyndon;2264
    17;Franklin;1780
    86;Lyndon;3999
  3. Dans le champ Header, saisissez 1 pour ignorer la première ligne du fichier d'entrée.

  4. Cliquez sur Edit schema pour définir les données à passer au composant tMSSqlOutput. Dans cet exemple, définissez id comme la clé (cochez la case Key) et spécifiez la longueur (Length) et la précision (Precision) pour chaque colonne.

    Cliquez sur OK pour fermer l'éditeur de schéma. Une boîte de dialogue s'ouvre, dans laquelle vous pouvez choisir de propager le schéma au composant suivant.

    Pour plus d'informations, consultez tFileInputDelimited.

Ecrire les données dans la table de la base de données

  1. Double-cliquez sur le tMSSqlOutput pour ouvrir sa vue Basic settings.

  2. Saisissez les informations requises pour la connexion ou utilisez une connexion existante précédemment configurée. Dans cet exemple, cochez la case Use an existing connection. Si plusieurs connexions sont disponibles, sélectionnez celle que vous souhaitez utiliser, dans la liste déroulante Component List.

  3. Dans le champ Table, saisissez le nom de la table dans laquelle vous souhaitez écrire les données : Wage_Info dans ce scénario. Vous pouvez également cliquer sur le bouton [...] à côté du champ Table pour ouvrir une boîte de dialogue et sélectionner une autre table.

  4. Sélectionnez Create table if not exists dans la liste déroulante Action on table.

  5. Sélectionnez Insert if not exists dans la liste déroulante Action on data.

  6. Cliquez sur Sync columns pour récupérer le schéma du composant précédent.

Extraire des informations de la table

  1. Double-cliquez sur le composant tMSSqlInput pour afficher sa vue Component.

  2. Cochez la case Use an existing connection. Si plusieurs connexions sont disponibles, sélectionnez celle que vous souhaitez utiliser, dans la liste déroulante Component List.

  3. Cliquez sur Edit schema pour définir la structure des données à lire depuis la table. Dans cet exemple, vous devez lire les trois colonnes de la table.

  4. Dans le champ Table Name, saisissez le nom de la table de laquelle vous souhaitez lire les données : Wage_Info dans ce scénario.

  5. Dans le champ Query, renseignez la requête SQL à exécuter sur la table spécifiée. Pour obtenir les données relatives aux employés dont le salaire est supérieur à la moyenne et les classer par ID, saisissez la requête SQL comme suit :

    SELECT    * 
    FROM      Wage_Info
    WHERE     wage >
    (SELECT   avg(wage)
    FROM      Wage_Info)
    ORDER BY  id
    

Afficher les informations dans la console

  1. Double-cliquez sur le tLogRow pour afficher sa vue Basic settings.

  2. Dans la zone Mode, sélectionnez Table (print values in cells of a table).

Commiter la transaction et fermer la connexion

  1. Double-cliquez sur le tMSSqlCommit pour ouvrir sa vue Basic settings.

  2. Cochez la case Close Connection.

Sauvegarder et exécuter le Job

  1. Appuyez sur les touches Ctrl+S pour sauvegarder votre Job.

  2. Exécutez le Job en appuyant sur la touche F6 ou en cliquant sur le bouton Run de la vue Run.

    La console affiche l'ID des employés dont le salaire est supérieur à la moyenne, leur nom et leur salaire. Les employés sont classés par ID.