tELTTeradataMap - 6.1

Talend Components Reference Guide

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
Data Governance
Data Quality and Preparation
Design and Development
EnrichPlatform
Talend Studio

tELTTeradataMap properties

The three ELT Teradata components are closely related, in terms of their operating conditions. These components should be used to handle Teradata DB schemas to generate Insert statements, including clauses, which are to be executed in the DB output table defined.

Component family

ELT/Map/Teradata

 

Function

Helps to graphically build the SQL statement using the table provided as input.

Purpose

Uses the tables provided as input, to feed the parameter in the built statement. The statement can include inner or outer joins to be implemented between tables or between one table and its aliases.

Basic settings

Use an existing connection

Select this check box and in the Component List click the relevant connection component to reuse the connection details you already defined.

Note

When a Job contains the parent Job and the child Job, if you need to share an existing connection between the two levels, for example, to share the connection created by the parent Job with the child Job, you have to:

  1. In the parent level, register the database connection to be shared in the Basic settings view of the connection component which creates that very database connection.

  2. In the child level, use a dedicated connection component to read that registered database connection.

For an example about how to share a database connection across Job levels, see Talend Studio User Guide.

 

ELT Teradata Map editor

The ELT Map editor allows you to define the output schema as well as build graphically the SQL statement to be executed. The column names of schema can be different from the column names in the database.

 

Style link

Select the way in which links are displayed.

Auto: By default, the links between the input and output schemas and the Web service parameters are in the form of curves.

Bezier curve: Links between the schema and the Web service parameters are in the form of curve.

Line: Links between the schema and the Web service parameters are in the form of straight lines.

This option slightly optimizes performance.

 

Property type

Either Built-in or Repository.

Since version 5.6, both the Built-In mode and the Repository mode are available in any of the Talend solutions.

 

 

Built-in: No property data stored centrally.

 

 

Repository: Select the Repository file where Properties are stored. The following fields are pre-filled in using fetched data.

 

Host

Database server IP address

 

Database

Name of the database

 

Username and Password

DB user authentication data.

To enter the password, click the [...] button next to the password field, and then in the pop-up dialog box enter the password between double quotes and click OK to save the settings.

Advanced settings

Query band

Select this check box to use the Teradata Query Banding feature to add metadata to the query to be processed, such as the user running the query. This can help you, for example, identify the origin of this query.

Once selecting the check box, the Query Band parameters table is displayed, in which you need to enter the metadata information to be added. This information takes the form of key/value pairs, for example, DpID in the Key column and Finance in the Value column.

This check box actually generates the SET QUERY_BAND FOR SESSION statement with the key/value pairs declared in the Query Band parameters table. For further information about this statement, see http://www.info.teradata.com/HTMLPubs/DB_TTU_14_00/index.html#page/SQL_Reference/B035_1144_111A/End_Logging-Syntax.027.143.html.

This check box is not available when you have selected the Using an existing connection check box. In this situation, if you need to use the Query Band feature, set it in the Advanced settings tab of the Teradata connection component to be used.

 

tStatCatcher Statistics

Select this check box to collect log data at the component level.

Dynamic settings

Click the [+] button to add a row in the table and fill the Code field with a context variable to choose your database connection dynamically from multiple connections planned in your Job. This feature is useful when you need to access database tables having the same data structure but in different databases, especially when you are working in an environment where you cannot change your Job settings, for example, when your Job has to be deployed and executed independent of Talend Studio.

The Dynamic settings table is available only when the Use an existing connection check box is selected in the Basic settings view. Once a dynamic parameter is defined, the Component List box in the Basic settings view becomes unusable.

For examples on using dynamic parameters, see Scenario 3: Reading data from MySQL databases through context-based dynamic connections and Scenario: Reading data from different MySQL databases using dynamically loaded connection parameters. For more information on Dynamic settings and context variables, see Talend Studio User Guide.

Global Variables

ERROR_MESSAGE: the error message generated by the component when an error occurs. This is an After variable and it returns a string. This variable functions only if the Die on error check box is cleared, if the component has this check box.

A Flow variable functions during the execution of a component while an After variable functions after the execution of the component.

To fill up a field or expression with a variable, press Ctrl + Space to access the variable list and choose the variable to use from it.

For further information about variables, see Talend Studio User Guide.

Usage

tELTTeradataMap is used along with a tELTTeradataInput and tELTTeradataOutput. Note that the Output link to be used with these components must faithfully reflect the name of the tables.

Note

The ELT components do not handle actual data flow but only schema information.

Connecting ELT components

For detailed information regarding ELT component connections, see Connecting ELT components.

Related topic: see Talend Studio User Guide.

Mapping and joining tables

In the ELT Mapper, you can select specific columns from input schemas and include them in the output schema.

For detailed information regarding the table schema mapping and joining, see Mapping and joining tables.

Adding where and other clauses

You can also restrict the Select statement based on a Where clause and/or other clauses such as Group By, Order By, etc. by clicking the Add filter row button at the top of the output table in the map editor.

To add a restriction based on a Where clause, click the Add filter row button and select Add a WHERE clause from the pop-up menu.

To add a restriction based on Group By, Order By etc., click the Add filter row button and select Add an other(GROUP...) clause from the pop-up menu.

Make sure that all input components are linked correctly to the ELT Map component to be able to implement all inclusions, joins and clauses.

Generating the SQL statement

The mapping of elements from the input schemas to the output schemas create instantly the corresponding Select statement.

The clause defined internally in the ELT Mapper are also included automatically.

Scenario: Mapping data using a subquery

This scenario describes a Job that maps the data from two input tables PreferredSubject and CourseScore to the output table TotalScoreOfPreferredSubject using a subquery.

The PreferredSubject table contains the student's preferred subject data. To reproduce this scenario, you can load the data to the table from a CSV file like the following. For how to load data to a Teradata table, see Scenario: Loading data into a Teradata database.

SeqID;StuName;Subject;Detail
1;Amanda;art;Amanda prefers art.
2;Ford;science;Ford prefers science.
3;Kate;art;Kate prefers art.

The CourseScore table contains the student's subject score data. To reproduce this scenario, you can load the data to the table from a CSV file like the following. For how to load data to a Teradata table, see Scenario: Loading data into a Teradata database.

SeqID;StuName;Subject;Course;Score;Detail
1;Amanda;science;math;85;science score
2;Amanda;science;physics;75;science score
3;Amanda;science;chemistry;80;science score
4;Amanda;art;chinese;85;art score
5;Amanda;art;history;95;art score
6;Amanda;art;geography;80;art score
7;Ford;science;math;95;science score
8;Ford;science;physics;85;science score
9;Ford;science;chemistry;80;science score
10;Ford;art;chinese;75;art score
11;Ford;art;history;80;art score
12;Ford;art;geography;85;art score
13;Kate;science;math;65;science score
14;Kate;science;physics;75;science score
15;Kate;science;chemistry;80;science score
16;Kate;art;chinese;85;art score
17;Kate;art;history;80;art score
18;Kate;art;geography;95;art score

Before the Job execution, there is no data in the output table TotalScoreOfPreferredSubject:

SeqID;StuName;PreferredSubject;TotalScore

Dropping and renaming the 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: two tELTTeradataInput components, two tELTTeradataMap components, and one tELTTeradataOutput component.

  2. Rename two tELTTeradataInput components to PreferredSubject and CourseScore respectively, two tELTTeradataMap components to ELTSubqueryMap and ELTMap respectively, and the tELTTeradataOutput component to TotalScoreOfPreferredSubject.

Configuring the input components

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

  2. In the Default Table Name field, enter an input table name. In this example, it is PreferredSubject.

  3. Click the [...] button next to Edit schema to define the schema of the input table PreferredSubject in the schema editor.

    Click the [+] button to add four columns, SeqID with the DB Type set to INTEGER, StuName, Subject, and Detail with the DB Type set to VARCHAR.

    Click OK to validate these changes and close the schema editor.

  4. Connect PreferredSubject to ELTMap using the Link > PreferredSubject (Table) link.

  5. Double-click CourseScore to open its Basic settings view.

  6. In the Default Table Name field, enter an input table name. In this example, it is CourseScore.

  7. Click the [...] button next to Edit schema to define the schema of the input table CourseScore in the schema editor.

    Click the [+] button to add six columns, SeqID and Score with the DB Type set to INTEGER, StuName, Subject, Course and Detail with the DB Type set to VARCHAR.

    Click OK to validate these changes and close the schema editor.

  8. Connect CourseScore to ELTSubqueryMap using the Link > CourseScore (Table) link.

Configuring the output component

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

  2. In the Default Table Name field, enter an output table name. In this example, it is TotalScoreOfPreferredSubject.

  3. Click the [...] button next to Edit schema to define the schema of the output table in the schema editor.

    Click the [+] button to add four columns, SeqID and TotalScore with the DB Type set to INTEGER, StuName and PreferredSubject with the DB Type set to VARCHAR.

    Click OK to validate these changes and close the schema editor.

Configuring data mapping to generate a subquery

  1. Click ELTSubqueryMap to open its Basic settings view.

    Note that you do not need to specify the Teradata database connection information in the ELTSubqueryMap component. The connection information will be specified in the ELTMap component.

  2. Click the [...] button next to ELT Teradata Map Editor to open its map editor.

  3. Add the input table CourseScore by clicking the [+] button in the upper left corner of the map editor and then selecting the relevant table name from the drop-down list in the pop-up dialog box.

  4. Add an output table by clicking the [+] button in the upper right corner of the map editor and then entering the table name TotalScore in the corresponding field in the pop-up dialog box.

  5. Drag StuName, Subject, and Score columns in the input table and then drop them to the output table.

  6. Click the Add filter row button in the upper right corner of the output table and select Add an other(GROUP...) clause from the pop-up menu. Then in the Additional other clauses (GROUP/ORDER BY...) field displayed, enter the clause GROUP BY CourseScore.StuName, CourseScore.Subject.

    Add the aggregate function SUM for the column Score of the output table by changing the expression of this column to SUM(CourseScore.Score).

  7. Click the Generated SQL Select query for "table1" output tab at the bottom of the map editor to display the corresponding generated SQL statement.

    This SQL query will appear as a subquery in the SQL query generated by the ELTMap component.

  8. Click OK to validate these changes and close the map editor.

  9. Connect ELTSubqueryMap to ELTMap using the Link > TotalScore (table1) link. Note that the link is renamed automatically to TotalScore (Table_ref) since the output table TotalScore here is a reference table.

Mapping the input and output schemas

  1. Right-click ELTMap, select Link > *New Output* (Table) from the contextual menu and click TotalScoreOfPreferredSubject. In the pop-up dialog box, click Yes to get the schema from the target component.

  2. Click ELTMap to open its Basic settings view.

    Fill in the Host, Database, Username, and Password fields with the Teradata database connection information.

  3. Click the [...] button next to ELT Teradata Map Editor to open its map editor.

  4. Add the input table PreferredSubject by clicking the [+] button in the upper left corner of the map editor and selecting the relevant table name from the drop-down list in the pop-up dialog box.

    Do the same to add another input table TotalScore.

  5. Drag the StuName column in the input table PreferredSubject and drop it to the corresponding column in the input table TotalScore. Then select the Explicit join check box for the StuName column in the input table TotalScore.

    Do the same for the Subject column.

  6. Drag the SeqID column in the input table PreferredSubject and drop it to the corresponding column in the output table.

    Do the same to drag the StuName and Subject columns in the input table PreferredSubject and the Score column in the input table TotalScore and drop them to the corresponding column in the output table.

  7. Click the Generated SQL Select query for "table2" output tab at the bottom of the map editor to display the corresponding generated SQL statement.

    The SQL query generated in the ELTSubqueryMap component appears as a subquery in the SQL query generated by this component. Alias will be automatically added for the selected columns in the subquery.

  8. Click OK to validate these changes and close the map editor.

Executing the Job

  1. Press Ctrl + S to save the Job.

  2. Press F6 to run the Job.

    The select statement is generated and the mapping data are written into the output table.