Scénario : Importer des données dans une table de base de données EXASolution à partir d'un fichier local CSV - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
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 écrivant des informations relatives à des employés dans un fichier CSV, puis chargeant les données de ce fichier local dans une nouvelle table de base de données crée dans une base de données EXASolution, à l'aide du composant tEXABulkExec, puis récupérant les données de la table et les affichant dans la console.

Construire le Job

  1. Créez un nouveau Job et ajoutez les composants suivants en saisissant leur nom dans l'espace de modélisation graphique ou en les déposant depuis la Palette : un tFixedFlowInput, un tFileOutputDelimited, un tEXABulkExec, un tEXAInput et un tLogRow.

  2. Reliez le tFixedFlowInput au tFileOutputDelimited à l'aide d'un lien Row > Main.

  3. Répétez l'opération pour connecter le tEXAInput au tLogRow.

  4. Connectez le tFixedFlowInput au composant tEXABulkExec à l'aide d'un lien Trigger > OnSubjobOk.

  5. Reliez le tEXABulkExec au tEXAInput de la même manière.

Configurer les composants

Préparer les données source

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

  2. Cliquez sur le bouton [...] à côté de Edit schema pour ouvrir la boîte de dialogue [Schema].

  3. Cliquez sur le bouton [+] pour ajouter six colonnes : EmployeeID de type Integer, EmployeeName, OrgTeam et JobTitle de type String, OnboardDate de type Data avec le modèle de date yyyy-MM-dd et MonthSalary de type Double.

  4. Cliquez sur OK pour fermer la boîte de dialogue et acceptez la propagation du schéma au composant suivant.

  5. Dans la zone Mode, sélectionnez Use Inline Content (delimited file) et saisissez les données employés suivantes dans le champ Content.

    12000;James;Dev Team;Developer;2008-01-01;15000.01
    12001;Jimmy;Dev Team;Developer;2008-11-22;13000.11
    12002;Herbert;QA Team;Tester;2008-05-12;12000.22
    12003;Harry;Doc Team;Technical Writer;2009-03-10;12000.33
    12004;Ronald;QA Team;Tester;2009-06-20;12500.44
    12005;Mike;Dev Team;Developer;2009-10-15;14000.55
    12006;Jack;QA Team;Tester;2009-03-25;13500.66
    12007;Thomas;Dev Team;Developer;2010-02-20;16000.77
    12008;Michael;Dev Team;Developer;2010-07-15;14000.88
    12009;Peter;Doc Team;Technical Writer;2011-02-10;12500.99
  6. Double-cliquez sur le composant tFileOutputDelimited pour ouvrir sa vue Basic settings.

  7. Dans le champ File Name, spécifiez le fichier dans lequel les données d'entrée seront écrites. Dans cet exemple, le fichier est "E:/employee.csv".

  8. Cliquez sur Advanced settings pour ouvrir la vue Advanced settings du tFileOutputDelimited.

  9. Cochez la case Advanced separator (for numbers) et, dans les champs Thousands separator et Decimal separator qui s'affichent, spécifiez le séparateurs des milliers et des nombres décimaux. Dans cet exemple, les valeurs par défaut "," et "." sont utilisées.

Charger les données source dans une nouvelle table de base de données EXASolution

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

  2. Renseignez les champs Host, Port, Schema, User et Password avec vos informations de connexion à la base de données EXASolution.

  3. Dans le champ Table, saisissez le nom de la table dans laquelle les données source seront écrites. Dans cet exemple, la table cible est nommée "employee" et n'existe pas encore.

  4. Sélectionnez Create table dans la liste Action on table afin de créer la table spécifiée.

  5. Dans la zone Source, sélectionnez Local Filename comme source pour les données d'entrée et spécifiez le fichier contenant les données source. Dans cet exemple, le fichier est "E:/employee.csv".

  6. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir la boîte de dialogue [Schema] et définir le schéma, qui doit être le même que celui de composant tFixedFlowInput.

    Cliquez sur OK afin de valider ces modifications et fermer la boîte de dialogue.

  7. Cliquez sur Advanced settings pour ouvrir la vue Advanced settings du composant tEXABulkExec.

  8. Dans la table Column Formats, pour les deux champs numériques, EmployeeID et MonthSalary, cochez la case correspondante dans la colonne Has Thousand Delimiters et définissez la chaîne de caractères du modèle de format dans les champs correspondants de la colonne Alternative Format. Dans cet exemple, saisissez "99G999" pour EmployeeID et "99G999D99" pour MonthSalary.

  9. Assurez-vous que les champs Thousands Separator et Decimal Separator ont une valeur identique à celle dans le composant tFileOutputDelimited et laissez les autres paramètres par défaut.

Récupérer les données de la table EXASolution

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

  2. Renseignez les champs Host name, Port, Schema name, Username et Password avec vos informations de connexion à la base de données EXASolution.

  3. Dans le champ Table Name, saisissez le nom de la table de laquelle récupérer les données. Dans cet exemple, la table est "employee".

  4. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir la boîte de dialogue [Schema] et définir le schéma, qui doit être le même que celui du tFixedFlowInput.

    Cliquez sur OK pour fermer la boîte de dialogue et accepter la propagation du schéma au composant suivant.

  5. Cliquez sur le bouton Guess Query pour renseigner le champ Query avec l'instruction SQL auto-générée à exécuter sur la table spécifiée.

    SELECT employee.EmployeeID,
    		employee.EmployeeName,
    		employee.OrgTeam,
    		employee.JobTitle,
    		employee.OnboardDate,
    		employee.MonthSalary
    FROM	employee
  6. Double-cliquez sur le composant tLogRow pour ouvrir sa vue Basic settings.

  7. Dans la zone Mode, sélectionnez l'option Table (print values in cells of a table) pour une lisibilité optimale de la sortie.

Sauvegarder et exécuter le Job

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

  2. Appuyez sur F6 pour l'exécuter.