Component family |
Cloud/Amazon/MySQL |
|
Function |
tAmazonMysqlRow is the specific |
|
Purpose |
Depending on the nature of the query and the database, tAmazonMysqlRow acts on the actual DB |
|
Basic settings |
Property type |
Either Built-in or Repository. Since version 5.6, both the Built-In mode and the Repository mode are |
|
|
Built-in: No property data stored |
|
|
Repository: Select the repository |
|
DB Version |
MySQL 5 is available. |
|
Use an existing connection |
Select this check box and in the Component List click the NoteWhen a Job contains the parent Job and the child Job, if you need to share an existing
For an example about how to share a database connection across Job levels, see |
|
Host |
Database server IP address |
|
Port |
Listening port number of DB server. |
|
Database |
Name of the database |
|
Username and |
DB user authentication data. To enter the password, click the […] button next to the |
|
Schema and Edit |
A schema is a row description, that is to say, it defines the Since version 5.6, both the Built-In mode and the Repository mode are |
|
|
Built-In: You create and store the schema locally for this |
|
|
Repository: You have already created the schema and When the schema to be reused has default values that are integers or functions, ensure that For more details, see https://help.talend.com/display/KB/Verifying+default+values+in+a+retrieved+schema. |
|
Table Name |
Name of the table to be processed. |
|
Query type |
Either Built-in or Repository. Since version 5.6, both the Built-In mode and the Repository mode are |
|
|
Built-in: Fill in manually the |
|
|
Repository: Select the relevant |
|
Guess |
Click the Guess Query button to |
|
Query |
Enter your DB query paying particularly attention to properly |
|
Die on error |
This check box is selected by default. Clear the check box to skip |
Advanced settings |
Additional JDBC parameters |
Specify additional connection properties for the DB connection you |
|
Propagate QUERY’s recordset |
Select this check box to insert the result of the query in a NoteThis option allows the component to have a different schema |
|
Use PreparedStatement |
Select this check box if you want to query the database using a
Parameter Index: Enter the
Parameter Type: Enter the parameter
Parameter Value: Enter the Note This option is very useful if you need to execute the same |
|
Commit every |
Number of rows to be completed before committing batches of rows |
|
tStatCatcher Statistics |
Select this check box to collect log data at the component |
Dynamic settings |
Click the [+] button to add a row in the table and fill The Dynamic settings table is available only when the For more information on Dynamic settings and context |
|
Global Variables |
QUERY: the SQL query statement being processed. This is a ERROR_MESSAGE: the error message generated by the A Flow variable functions during the execution of a component while an After variable To fill up a field or expression with a variable, press Ctrl + For further information about variables, see Talend Studio |
|
Usage |
This component offers the flexibility of the DB query and covers |
|
Log4j |
The activity of this component can be logged using the log4j feature. For more information on this feature, see Talend Studio User For more information on the log4j logging levels, see the Apache documentation at http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html. |
This scenario describes a four-component job that removes a table index, applies a
select insert action onto a table then regenerates the index.
-
Select and drop the following components onto the design workspace:
tAmazonMysqlRow (x2), tRowGenerator, and tAmazonMysqlOutput. -
Connect tRowGenerator to tAmazonMysqlOutput.
-
Using a OnComponentOk connections, link
the first tAmazonMysqlRow to tRowGenerator and tRowGenerator to the second tAmazonMysqlRow.
-
Select the tAmazonMysqlRow to fill in
the DB Basic settings. -
In Property type as well in Schema, select the relevant DB entry in the
list.The DB connection details and the table schema are accordingly filled in.
-
Propagate the properties and schema details onto the other components of
the Job. -
The query being stored in the Metadata
area of the Repository, you can also select
Repository in the Query type field and the relevant query entry. -
If you didn’t store your query in the Repository, type in the following SQL statement to alter the
database entries: drop index <index_name> on <table_name> -
Select the second tAmazonMysqlRow
component, check the DB properties and schema. -
Type in the SQL statement to recreate an index on the table using the
following statement: create index <index_name> on <table_name>
(<column_name>)The tRowGenerator component is used to
generate automatically the columns to be added to the DB output table
defined.
-
Select the tAmazonMysqlOutput component
and fill in the DB connection properties> either from the
Repository, or manually for this specific use only. The table
to be fed is named: comprehensive. -
The schema should be automatically inherited from the data flow coming
from the tRowGenerator. Edit the schema to
check its structure and check that it corresponds to the schema expected on
the DB table specified. -
The Action on table is
None and the Action on
data is Insert.
Press F6 to run the job.
If you manage to watch the action on DB data, you can notice that the index is
dropped at the start of the job and recreated at the end of the insert
action.
Related topics: tDBSQLRow properties.
This scenario describes a four component job which allows you to link a table column
with a client file. The MySQL table contains a list of all the American States along
with the State ID, while the file contains the customer information including the ID of
the State in which they live. We want to retrieve the name of the State for each client,
using an SQL query. In order to process a large volume of data quickly, we use a
PreparedStatement object which means that the query is executed only once rather than
against each row in turn. Then each row is sentas a parameter.
For this scenario, we use a file and a database for which we have already stored the
connection and properties in the Rerpository metadata. For further information
concerning the creation of metadata in delimited files, the creation of database
connection metadata and the usage of metadata, see Talend Studio User
Guide.
-
In the Repository, expand the Metadata and File
delimited nodes. Select the metadata which corresponds to the
client file you want to use in the Job.Here, we are using the customers metadata.
-
Slide the metadata onto the workspace and double-click tFileInputDelimited in the [Components] dialog box so that the tFileInputDelimited component is created with the parameters
already set. -
In the Schema list, select Built-in so that you can modify the component’s
schema. Then click on […] next to the
Edit schema field to add a column into
which the name of the State will be inserted. -
Click on the [+] button to add a column
to the schema. Rename this column LabelStateRecordSet
and select Object from the Type list. Click OK to save your modifications. -
From the Palette, select the tAmazonMysqlRow, tParseRecordSet and tFileOutputDelimited components and drop them onto the
workspace. Connect the four components using Row > Main type
links.
-
Double-click tAmazonMysqlRow to set its
properties in the Basic settings tab of the
Component view. -
In the Property Type list,
select Repository and click on the
[…] button to select a database
connection from the metadata in the Repository. The DB
Version, Host, Port, Database,
Username and Password fields are completed automatically. If you are
using the Built-in mode, complete these
fields manually. -
From the Schema list, select Built-in to set the schema properties manually
and add the LabelStateRecordSet column, or click
directly on the Sync columns button to
retrieve the schemma from the preceding component. -
In the Query field, enter the SQL query
you want to use. Here, we want to retrieve the names of the American States
from the LabelState column of the MySQL table,
us_state:12"SELECT LabelStateFROM us_state WHERE idState=?"The question mark, “
?
“, represents the parameter to be set in
the Advanced settings tab.
-
Click Advanced settings to set the
component’s advanced properties. -
Select the Propagate QUERY’s recordset
check box and select the LabelStateRecordSet column
from the use column list to insert the
query results in that column. -
Select the Use PreparedStatement check
box and define the parameter used in the query in the Set PreparedStatement Parameters table. Click on the
[+] button to add a parameter. -
In the Parameter Index cell, enter the
parameter position in the SQL instruction. Enter “1” as
we are only using one parameter in this example. -
In the Parameter Type cell, enter the
type of parameter. Here, the parameter is a whole number, hence, select
Int from the list. -
In the Parameter Value cell, enter the
parameter value. Here, we want to retrieve the name of the State based on
the State ID for every client in the input file. Hence, enter
“row1.idState".
-
Double-click tParseRecordSet to set its
properties in the Basic settings tab of the
Component view. -
From the Prev. Comp. Column list, select
the preceding components column for analysis. In this example, select
LabelStateRecordSet. -
Click on the Sync columns button to
retrieve the schema from the preceding component. The Attribute table is automatically completed with the schema
columns. -
In the Attribute table, in the Value field which corresponds to the
LabelStateRecordSet, enter the name of the column
containing the State names to be retrieved and matched with each client,
within double quotation marks. In this example, enter
“LabelState“.
-
Double-click tFileOutputDelimited to set
its properties in the Basic settings tab of
the Component view. -
In the File Name field, enter the access
path and name of the output file. Click Sync
columns to retrieve the schema from the preceding component.