tELTOracleMap - 6.3

Talend Open Studio for Big Data Components Reference Guide

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

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

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.

tELTOracleMap properties

Component family

ELT/Map/Oracle

 

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 Oracle Map Editor

The ELT Map editor allows you to define the output schema and make a graphical build of the SQL statement to be executed. The column names of schema can be different from the column names in the database.

 

Style link

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.

 

Connection type

Drop-down list of the available drivers.

 

DB Version

Select the Oracle version you are using.

 

Host

Database server IP address

 

Port

Listening port number of DB server.

 

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.

 

Mapping

Automatically set mapping parameter.

Advanced settings

Additional JDBC Parameters

Specify additional connection properties for the DB connection you are creating. This option is not available if you have selected the Use an existing connection check box in the Basic settings.

 

Use Hint Options

Select this check box to activate the hint configuration area to help you optimize a query's execution. In this area, parameters are:

- HINT: specify the hint you need, using the syntax /*+ */. - POSITION: specify where you put the hint in a SQL statement.

- SQL STMT: select the SQL statement you need to use.

 

tStatCatcher Statistics

Select this check box to gather the Job processing metadata at a Job level as well as at each 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

tELTOracleMap is used along with a tELTOracleInput and tELTOracleOutput. Note that the Output link to be used with these components must correspond strictly to the syntax of the table name.

Note

Note that the ELT components do not handle actual data flow but only schema information.

Connecting ELT components

The ELT components do not handle any data as such but table schema information that will be used to build the SQL query to execute. Therefore the only connection required to connect these components together is a simple link.

Note that the output name you give to the link when creating it should always be the exact name of the table to be accessed as this parameter will be used in the SQL statement generated.

For the related topic, see Talend Studio User Guide.

Mapping and joining tables

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

  • As you would do it in the regular Map editor, simply drag & drop the columns from the input schema towards the output table defined.

  • Use the Ctrl or Shift key for multiple selection of contiguous or non-contiguous table columns.

You can implement explicit joins to retrieve various data from different tables.

  • Select the Explicit join check box for the relevant column of the input schema and then select a type of join from the join list in the upper right corner of the input schema.

  • Possible joins include: INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN, CROSS JOIN, Left Outer Join (+), and Right Outer Join (+). By default, the INNER JOIN is selected.

Note

When you need to join a lot of tables or need to join tables by multiple join conditions with outer joins, it is recommended to use the LEFT OUTER JOIN (+) and the RIGHT OUTER JOIN (+) options that allow you to use the Oracle private keywords. For further information about these two private keywords, see the site: http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/queries006.htm.

You can also create alias tables to retrieve various data from the same table.

  • In the input area, click the [+] button in the upper left corner of the map editor to create a new alias.

  • Select the table on which the alias is based.

  • Type in a new name for the alias table, preferably not the same as the main table.

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 creates instantly the corresponding SELECT statement. The clauses are also included automatically.

Scenario: Updating Oracle DB entries

This scenario is based on the data aggregation scenario, Scenario 1: Aggregating table columns and filtering. As the data update action is available in Oracle DB, this scenario describes a Job that updates particular data in the agg_result table.

  • As described in Scenario 1: Aggregating table columns and filtering, set up a Job for data aggregation using the corresponding ELT components for Oracle DB, tELTOracleInput, tELTOracleMap, and tELTOracleOutput, and execute the Job to save the aggregation result in a database table named agg_result.

Note

When defining filters in the ELT Map editor, note that strings are case sensitive in Oracle DB.

  • Launch the ELT Map editor and add a new output table named update_data.

  • Add a filter row to the update_data table to set up a relationship between input and output tables: owners.ID_OWNER = agg_result.ID_OWNER.

  • Drop the MAKE column from the cars table to the update_data table.

  • Drop the NAME_RESELLER column from the resellers table to the update_data table.

  • Add a model enclosed in single quotation marks, A8 in this use case, to the MAKE column from the cars table, preceded by a double pipe.

  • Add Sold by enclosed in single quotation marks in front of the NAME_RESELLER column from the resellers table, with a double pipe in between.

  • Check the Generated SQL select query tab to be executed.

  • Click OK to validate the changes in the ELT Mapper.

  • Deactivate the tELTOracleOutput component labeled Agg_Result by right-clicking it and selecting Deactivate Agg_Result from the contextual menu.

  • Drop a new tELTOracleOutput component from the Palette to the design workspace, and label it Update_Data to better identify its functionality.

  • Connect the tELTOracleMap component to the new tELTOracleOutput component using the link corresponding to the new output table defined in the ELT Mapper, update_data in this use case.

  • Double-click the new tELTOracleOutput component to display its Basic settings view.

  • From the Action on data list, select Update.

  • Check the schema, and click Sync columns to retrieve the schema structure from the preceding component if necessary.

  • In the WHERE clauses area, add a clause that reads agg_result.MAKE = 'Audi' to update data relating to the make of Audi in the database table agg_result.

  • Fill the Default Table Name field with the name of the output link, update_data in this use case.

  • Select the Use different table name check box, and fill the Table name field with the name of the database table to be updated, agg_result in this use case.

  • Leave the other parameters as they are.

  • Save your Job and press F6 to run it.

    The relevant data in the database table is updated as defined.

Related scenario

For a related scenario using subquery, see Scenario: Mapping data using a subquery.