Scenario: Extracting a delimited string column of a database table - 6.1

Talend Open Studio for Big Data Components Reference Guide

EnrichVersion
6.1
EnrichProdName
Talend Open Studio for Big Data
task
Data Governance
Data Quality and Preparation
Design and Development
EnrichPlatform
Talend Studio

This scenario describes a Job that writes data including a delimited string column into a MySQL database table and displays the data on the console, then extracts the delimited string column into multiple columns and displays the data after extraction on the console.

Adding and linking components

  1. Create a new Job and add the following components by typing their names in the design workspace or dropping them from the Palette: a tFixedFlowInput component, a tMysqlOutput component, a tMysqlInput component, a tExtractDelimitedFields component, two tLogRow components.

  2. Link tFixedFlowInput to tMysqlOutput using a Row > Main connection.

  3. Do the same to link tMysqlOutput to the first tLogRow, link tMysqlInput to tExtractDelimitedFields, link tExtractDelimitedFields to the second tLogRow.

  4. Link tFixedFlowInput to tMysqlInput using a Trigger > On Subjob Ok connection.

Configuring the components

Populating data in a MySQL database table

  1. Double-click tFixedFlowInput to open its Basic settings view.

  2. Click the [...] button next to Edit schema and in the pop-up window define the schema by adding three columns: Id of Integer type, and Name and DelimitedField of String type.

    Click OK to close the schema editor and accept the propagation prompted by the pop-up dialog box.

  3. In the Mode area, select Use Inline Content(delimited file). Then in the Content field displayed, enter the data to write to the database. This input data includes a delimited string column. In this example, the input data is as follows:

    1;AAA;32,Component Team,Developer
    2;BBB;28,Component Team,Tester
    3;CCC;30,Doc Team,Writer
    4;DDD;35,Doc Team,Leader
    5;EEE;33,QA Team,Tester
  4. Double-click tMysqlOutput to open its Basic settings view.

  5. Fill the Host, Port, Database, Username, Password fields with the MySQL database connection information.

  6. Fill the Table field with the name of the table to be written. In this example, it is employee.

  7. Select Drop table if exists and create from the Action on table list.

  8. Double-click the first tLogRow to open its Basic settings view.

    In the Mode area, select Table (print values in cells of a table) for better readability of the result.

Extracting the delimited string column in the database table into multiple columns

  1. Double-click tMysqlInput to open its Basic settings view.

  2. Fill the Host, Port, Database, Username, Password fields with the MySQL database connection information.

  3. Click the [...] button next to Edit schema and in the pop-up window define the schema of the tMysqlInput component same as the schema of the tMysqlOutput component.

  4. In the Table Name field, enter the name of the table into which the data was written. In this example, it is employee.

  5. Click the Guess Query button to fill the Query field with the SQL query statement to be executed on the specified table. In this example, it is as follows:

    SELECT 
      `employee`.`Id`, 
      `employee`.`Name`, 
      `employee`.`DelimitedField`
    FROM `employee`
  6. Double-click tExtractDelimitedFields to open its Basic settings view.

  7. In the Field to split list, select the delimited string column to be extracted. In this example, it is DelimitedField.

    In the Field separator, enter the separator used to separate the fields in the delimited string column. In this example, it is ,.

  8. Click the [...] button next to Edit schema and in the pop-up window define the schema by adding five columns: Id of Integer type, and Name, Age, Team, Title of String type.

    In this example, the delimited string column DelimitedField is split into three columns Age, Team and Title, and the Id and Name columns are kept as well.

    Click OK to close the schema editor and accept the propagation prompted by the pop-up dialog box.

  9. Double-click the second tLogRow to open its Basic settings view.

    In the Mode area, select Table (print values in cells of a table) for better readability of the result.

Saving and executing the Job

  1. Press Ctrl + S to save the Job.

  2. Execute the Job by pressing F6 or clicking Run on the Run tab.

    As shown above, the primitive input data and the data after extraction are displayed on the console, and the delimited string column DelimitedField is extracted into three columns Age, Team, and Title.