August 16, 2023

tMysqlInput – Docs for ESB 6.x

tMysqlInput

Executes a DB query with a strictly defined order which must correspond to the
schema definition.

tMysqlInput reads a database and
extracts fields based on a query. Then it passes on the field list to the next component
via a Main row link.

Depending on the Talend solution you
are using, this component can be used in one, some or all of the following Job
frameworks:

  • Standard: see tMysqlInput Standard properties.

    The component in this framework is generally available.

  • MapReduce: see tMysqlInput MapReduce properties.

    The component in this framework is available only if you have subscribed to one
    of the
    Talend
    solutions with Big Data.

  • Spark Batch: see tMysqlInput properties for Apache Spark Batch.

    This component also allows you to connect and read data from a RDS Aurora or a RDS MySQL
    database.

    The component in this framework is available only if you have subscribed to one
    of the
    Talend
    solutions with Big Data.

tMysqlInput Standard properties

These properties are used to configure tMysqlInput running in the Standard Job framework.

The Standard
tMysqlInput component belongs to the Databases family.

The component in this framework is generally available.

Basic settings

Property type

Either Built-In or Repository.

Built-In: No property data stored centrally.

Repository: Select the repository file where the
properties are stored.

Save_Icon.png

Click this icon to open a database connection wizard and store the
database connection parameters you set in the component Basic settings view.

For more information about setting up and storing database connection
parameters, see
Talend Studio

User Guide.

DB version

Select the version of the database to be used.

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
.

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.

Schema and Edit
Schema

A schema is a row description. It defines the number of fields (columns) to
be processed and passed on to the next component. The schema is either Built-In or stored remotely in the Repository.

This component offers the
advantage of the dynamic schema feature. This allows you to retrieve unknown columns
from source files or to copy batches of columns from a source without mapping each
column individually. For further information about dynamic schemas, see
Talend Studio

User Guide.

This dynamic schema
feature is designed for the purpose of retrieving unknown columns of a table and is
recommended to be used for this purpose only; it is not recommended for the use of
creating tables.

 

Built-In: You create and store the
schema locally for this component only. Related topic: see
Talend Studio

User Guide.

 

Repository: You have already created
the schema and stored it in the Repository. You can reuse it in various projects and
Job designs. Related topic: see
Talend Studio

User Guide.

 

Click Edit schema to make changes to the schema.
If the current schema is of the Repository type, three
options are available:

  • View schema: choose this option to view the
    schema only.

  • Change to built-in property: choose this
    option to change the schema to Built-in for
    local changes.

  • Update repository connection: choose this
    option to change the schema stored in the repository and decide whether to propagate
    the changes to all the Jobs upon completion. If you just want to propagate the
    changes to the current Job, you can select No
    upon completion and choose this schema metadata again in the [Repository Content] window.

Table
Name

Name of the table to be read.

Query type and Query

Enter your DB query paying particularly attention to
properly sequence the fields in order to match the schema
definition.

If using
the dynamic schema feature, the SELECT query must include the * wildcard, to retrieve all of the columns
from the table selected.

Specify a data source alias

Select this check box and specify the alias of a data source created on the
Talend Runtime
side to use the shared connection pool defined in the
data source configuration. This option works only when you deploy and run your Job in

Talend Runtime
. For a related use case, see Scenario: Deploying your Job on Talend Runtime to retrieve data from a MySQL database.

Warning:

If you use the component’s own DB configuration, your data source connection will be
closed at the end of the component. To prevent this from happening, use a shared DB
connection with the data source alias specified.

This check box is not available when the Use an existing
connection
check box is selected.

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.

Note:

When you need to handle data of the time-stamp type
0000-00-00 00:00:00 using this component,
set the parameter as:

noDatetimeStringSync=true&zeroDa­teTimeBehavior=convertToNull.

Enable stream

Select this check box to enables streaming over buffering which allows
the code to read from a large table without consuming a large amount of
memory in order to optimize the performance.

This check box is available only when Mysql 4 or
Mysql 5 is selected from the DB
Version
drop-down list.

Trim all the String/Char columns

Select this check box to remove leading and trailing whitespace from
all the String/Char columns.

Trim column

Remove leading and trailing whitespace from defined columns.

Note:

Clear Trim all the String/Char
columns
to enable Trim columns in this field.

tStatCatcher Statistics

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

Global Variables

Global Variables 

NB_LINE: the number of rows processed. This is an After
variable and it returns an integer.

QUERY: the query statement being processed. This is a Flow
variable and it returns a string.

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

Usage rule

This component covers all possible SQL queries for Mysql
databases.

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: Reading data from 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
.

Scenario: Writing columns from a MySQL database to an output file using
tMysqlInput

In this scenario we will read certain columns from a MySQL database, and then write
them to a table in a local output file.

Dragging and dropping components and linking them together

  1. Drop tMysqlInput and tFileOutputDelimited from the Palette onto the workspace.
  2. Link tMysqlInput to tFileOutputDelimited using a Row > Main connection.

    Use_Case_tMysqlInput_1.png

Configuring the components

  1. Double-click tMysqlInput to open its
    Basic Settings view in the Component tab.

    Use_Case_tMysqlInput_2.png

  2. From the Property Type list, select
    Repository if you have already stored
    the connection to database in the Metadata
    node of the Repository tree view. The
    property fields that follow are automatically filled in.

    For more information about how to store a database connection, see

    Talend Studio

    User Guide.
    If you have not defined the database connection locally in the Repository, fill in the details manually after
    selecting Built-in from the Property Type list.
  3. Set the Schema as Built-in and click Edit
    schema
    to define the desired schema.

    The schema editor opens:
    Use_Case_tMysqlInput_3.png

  4. Click the [+] button to add the rows
    that you will use to define the schema, four columns in this example
    id, first_name,
    city and salary.

    Under Column, click in the fields to
    enter the corresponding column names.
    Click the field under Type to define the
    type of data.
    Click OK to close the schema
    editor.
  5. Next to the Table Name field, click
    the […] button to select the database
    table of interest.

    A dialog box displays a tree diagram of all the tables in the selected
    database:
    Use_Case_tMysqlInput_4.png

  6. Click the table of interest and then click OK to close the dialog box.
  7. Set the Query Type as Built-In.
  8. In the Query box, enter the query
    required to retrieve the desired columns from the table.

    Use_Case_tMysqlInput_5.png

  9. Double-click tFileOutputDelimited to set
    its Basic settings in the Component tab.

    Use_Case_tMysqlInput_6.png

  10. Next to the File Name field, click the
    […] button to browse your directory
    to where you want to save the output file, then enter a name for the
    file.

    Select the Include Header check box to
    retrieve the column names as well as the data.
  11. Save the Job.

Executing the Job

The results below can be found after F6 is
pressed to run the Job.

Use_Case_tMysqlInput_7.png

As shown above, the output file is written with the desired column names and
corresponding data, retrieved from the database:

Note:

The Job can also be run in the Traces Debug
mode, which allows you to view the rows as they are being written to the output
file, in the workspace.

Scenario: Using context parameters when reading a table from a database

In this scenario, MySQL is used for demonstration purposes. We will read a
table from a MySQL database, using a context parameter to refer to the table name.

Dragging and dropping components and linking them together

  1. Drop tMysqlInput and tLogRow from the Palette onto the workspace.
  2. Link tMysqlInput to tLogRow using a Row >
    Main
    connection.

    use_case_tmysqlinput_context_1.png

Configuring the components

  1. Double-click tMysqlInput to open its
    Basic Settings view in the Component tab.

    use_case_tmysqlinput_context_2.png

  2. From the Property Type list, select
    Repository if you have already stored
    the connection to database in the Metadata
    node of the Repository tree view. The
    property fields that follow are automatically filled in.

    For more information about how to store a database connection, see

    Talend Studio

    User Guide.
    If you have not defined the database connection in the Repository, fill in the details manually after
    selecting Built-in from the Property Type list.
  3. Set the Schema as Built-In and click Edit
    schema
    to define the desired schema.

    The schema editor opens:
    use_case_tmysqlinput_context_3.png

  4. Click the [+] button to add the rows
    that you will use to define the schema, seven columns in this example:
    id, first_name, last_name, city, state, date_of_birth and salary.

    Under Column, click the fields to enter
    the corresponding column names.
    Click the fields under Type to define
    the type of data.
    Click OK to close the schema
    editor.
  5. Put the cursor in the Table Name field
    and press F5 for context parameter setting.

    use_case_tmysqlinput_context_4.png

    For more information about context settings, see
    Talend Studio

    User Guide.
  6. Keep the default setting in the Name
    field and type in the name of the database table in the Default value field, employees in this case.
  7. Click Finish to validate the setting.

    The context parameter context.TABLE
    automatically appears in the Table Name
    field.
  8. In the Query type list, select Built-In. Then, click Guess
    Query
    to get the query statement.

    In this use case, we want to read the records with the salary above 8000.
    Therefore, we add a Where clause and the final query statement
    is as follows:
  9. Double-click tLogRow to set its Basic Settings in the Component tab.

    use_case_tmysqlinput_context_5.png

  10. In the Mode area, select Table (print values in cells of a table) for a
    better display of the results.
  11. Save the Job.

Executing the Job

The results below can be found after F6 is
pressed to run the Job.

use_case_tmysqlinput_context_6.png

As shown above, the records with the salary greater than 8000 are
retrieved.

Scenario: Reading data from databases through context-based dynamic
connections

In this scenario, MySQL is used for demonstration purposes. We will read data
from database tables with the same data structure but in two different MySQL databases
named project_q1 and project_q2 respectively.
We will specify the connections to these databases dynamically at runtime, without
making any modification to the Job.

Dropping and linking the components

  1. Drop two tMysqlConnection, a tMysqlInput, a tLogRow, and a tMysqlClose
    components onto the design workspace.
  2. Link the first tMysqlConnection to the
    second tMysqlConnection and the second
    tMysqlConnection to tMysqlInput using Trigger > On Subjob Ok
    connections.
  3. Link tMysqlInput to tLogRow using a Row >
    Main connection.
  4. Link tMysqlInput to tMysqlClose using a Trigger
    > On Subjob Ok connection.

    use_case-tmysqlinput-dynamic_connection-1.png

Creating a context variable

To be able to choose a database connection dynamically at runtime, we need to
define a context variable, which will then be configure it in the Dynamic settings of the database input component.

  1. In the Contexts view, click the [+] button to add a row in the table, click in
    the Name field and enter a name for the
    variable, myConnection in this
    example.

    use_case-tmysqlinput-dynamic_connection-context1.png

  2. From the Type list field, select
    List Of Value.
  3. Click in the Value field and then click
    the button that appears in the field to open the [Configure value of list] dialog box.

    use_case-tmysqlinput-dynamic_connection-context2.png

  4. In the [Configure value of list] dialog
    box, click the New… button to open the
    [New Value] dialog box, and enter the
    name of one of the connection components in the text field, tMysqlConnection_1 in this example. Then click
    OK to close the dialog box.

    use_case-tmysqlinput-dynamic_connection-context3.png

    Repeat this step to specify the other connection component name as another
    list item, tMysqlConnection_2 in this
    example.
    When done, click OK to close the
    [Configure Values] dialog box.
  5. Select the check box next to the variable value field, and fill the
    Prompt field with the message you want
    to display at runtime, Select a connection
    component:
    in this example.

Configuring the components

  1. Double-click the first tMysqlConnection
    component to show its Basic settings view,
    and set the connection details. For more information on the configuration of
    tMysqlConnection, see tMysqlConnection.

    Note that we use this component to open a connection to a MySQL databased
    named project_q1.
    use_case-tmysqlinput-dynamic_connection-2.png

  2. Configure the second tMysqlConnection
    component in the same way, but fill the Database field with project_q2 because we want to use this component to open a
    connection to another MySQL database, project_q2.

    use_case-tmysqlinput-dynamic_connection-3.png

  3. Double-click the tMysqlInput component to
    show its Basic settings view.

    use_case-tmysqlinput-dynamic_connection-4.png

  4. Select the Use an existing connection
    check box, and leave the Component List box
    as it is.
  5. Click the […] button next to Edit schema to open the [Schema] dialog box and define the data structure of the
    database table to read data from.

    use_case-tmysqlinput-dynamic_connection-5.png

    In this example, the database table structure is made of four columns,
    id (type Integer, 2 characters long),
    firstName (type String, 15 characters
    long), lastName (type String, 15
    characters long), and city (type String,
    15 characters long). When done, click OK to
    close the dialog box and propagate the schema settings to the next
    component.
  6. Fill the Table field with the database
    table name, customers in this example,
    and click Guess Query to generate the query
    statement corresponding to your table schema in the Query field.
  7. In the Dynamic settings view, click the
    [+] button to add a row in the table,
    and fill the Code field with the code
    script of the context variable you just created, " +
    context.myConnection + "
    in this example.

    use_case-tmysqlinput-dynamic_connection-6.png

  8. In the Basic settings view of the
    tLogRow component, select the Table option for better display effect of the Job
    execution result.

    use_case-tmysqlinput-dynamic_connection-7.png

  9. In the Dynamic settings view of the
    tMysqlClose component, do exactly the
    same as in the Dynamic settings view of the
    tMysqlInput component.

Saving and executing the Job

  1. Press Ctrl+S to save your Job and press
    F6 or click Run to launch it.

    A dialog box appears prompting you to specify the connection component you
    want to use.
  2. Select the connection component, tMysqlConnection_1, and click OK.

    use_case-tmysqlinput-dynamic_connection-8.png

    The data read from database project_q1
    is displayed in the Run console.
    use_case-tmysqlinput-dynamic_connection-9.png

  3. Press F6 or click Run
    to launch your Job again. When prompted, select the other connection
    component, tMysqlConnection_2, to read data
    from the other database, project_q2.

    The data read from database project_q2
    is displayed in the Run console.
    use_case-tmysqlinput-dynamic_connection-10.png

Scenario: Deploying your Job on Talend Runtime to retrieve data from a MySQL
database

This scenario describes a two-component Job that retrieves data from a MySQL
database table and displays the data on the console. The Job will be deployed in Talend
Runtime and will use the data source created on Talend Runtime to connect to the
database defined in a Runtime configuration file.

components-tmysqlinput_s5_job.png

Creating a MySQL data source in Talend Runtime Container

To be able to retrieve data from a MySQL database table and displays the data on
the console, you must have created a MySQL data source in Talend Runtime
Container.

You must have properly installed Talend Runtime in the machine
in which you want to execute your Job. For further information, search for
installing Talend
Runtime on Talend Help Center (https://help.talend.com).

  1. Install the MySQL JDBC driver by running the following
    bundle:install command in Talend Runtime
    Container:

  2. Install the database connection pool by running the following
    bundle:install command in Talend Runtime Container:

  3. Copy the data source configuration file
    datasource-mysql.xml under the folder
    <TalendRuntimePath>/add-ons/datasources/dataservice
    to the folder <TalendRuntimePath>/container/deploy
    and then in the file update the username and password property values required
    to connect to your database.

    Note: The property osgi.jndi.service.name in the data
    source configuration file defines the data source alias, jdbc/sample, in this example. The alias will be used in the database
    component to connect to the database defined in the data source
    configuration file when the Job is deployed in Talend Runtime.

    For more information about how to use the data source in
    Talend Runtime Container, see Talend ESB Container Administration Guide and
    Talend ESB Studio User Guide.

Adding and linking the components

  1. Create a new Job and add a tMysqlInput
    component and a tLogRow component by typing
    their names in the design workspace or dropping them from the Palette.
  2. Link the tMysqlInput component to the
    tLogRow component using a Row > Main connection.

Configuring the components

  1. Double-click tMysqlInput to open its
    Basic Settings view in the Component tab.

    components-tmysqlinput_s5_tmysqlinput.png

  2. In the Table Name field, enter the name of
    the table from which the data will be retrieved. In this example, it is
    student.
  3. Click the […] button next to Edit schema to open the [Schema] dialog box and define the schema of the table student by adding two columns: sid of Integer type and sname of String type.

    components-tmysqlinput_s5_tmysqlinput_schema.png

  4. Click the Guess Query button to fill the
    Query field with the SQL query statement to
    be used to retrieve data from the specified table.
  5. Select the Specify a data source alias check box and in
    the Data source alias field displayed enter the
    data source alias specified in the data source configuration file datasource-mysql.xml on Talend Runtime side. In
    this example, it is jdbc/sample.
  6. Double-click the tLogRow component to open
    its Basic settings view.

    components-tmysqlinput_s5_tlogrow.png

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

Building the Job and deploying it in Talend Runtime Container

  1. Press Ctrl + S to save the Job.
  2. Start the Talend Runtime Container.
  3. In the Repository tree view of your Talend Studio,
    right-click the Job and from the contextual menu select Build Job to open the [Build
    Job]
    dialog box.

    components-tmysqlinput_s5_buildjob.png

  4. Select OSGI Bundle For ESB from the Select the build type drop-down list.
  5. Click the Browse button next to the To archive file field to specify where you will store the Job
    archive file. In this example, we will export the Job directly to the deploy
    folder <TalendRuntimePath>/container/deploy so that the Job can be
    run immediately in Talend Runtime after being exported.

    For more information about how to build a Job, see
    Talend Studio

    User Guide.
  6. Click Finish to close the [Build Job] dialog box.

    components-tmysqlinput_s5_result.png

    As you can see on the Talend Runtime Container console, the Job starts to run immediately
    after being deployed and the data in the student table is retrieved and displayed on the console.

Scenario 5: Writing dynamic columns from a database to an output
file

This scenario applies only to a subscription-based Talend solution.

In this scenario, MySQL is used for demonstration purposes. You will read
dynamic columns from a MySQL database, map them and then write them to a table in a
local output file. By defining a dynamic column alongside known column names, we can
retrieve all of the columns from the database table, including the unknown columns.

Dragging and dropping components and linking them together

  1. Drop a tMysqlInput, a tMap and a tFileOutputDelimited component onto the workspace.
  2. Link tMysqlInput to tMap using a Row >
    Main
    connection.
  3. Link tMap to tFileOutputDelimited using a Row >
    *New Output* (Main)
    connection.

    Use_Case_tMysqlInput_Dynamic_Schema_1.png

Configuring the components

Configuring the tMysqlInput component

  1. Double-click tMysqlInput
    to open its Basic Settings view in the
    Component tab.

    Use_Case_tMysqlInput_Dynamic_Schema_2.png
    Warning:

    The dynamic schema feature is only supported in
    Built-In mode.

  2. Select Built-in as the
    Property Type.
  3. Select the DB Version from the corresponding list.
  4. Next to Host, enter the database server IP
    address.
  5. Next to Port, enter the listening port number of the
    database server.
  6. Enter your authentication data in the Username and
    Password fields.
  7. Set the Schema type
    as Built-in and click Edit schema to define the dynamic schema.

    The schema editor opens:

    Use_Case_tMysqlInput_Dynamic_Schema_3.png

  8. Click the [+] button to
    add a row to the schema.

    1. Under Column and Db
      Column
      , click in the fields to enter the corresponding
      column names.
    2. Click the field under Type to define the type of
      data.
    3. Click the arrow and select Dynamic from the
      list.

      Warning:

      Under Type, the dynamic column type
      must be set as Dynamic.

  9. Click OK to close the
    schema editor.
  10. Next to the Table Name
    field, click the […] button to select
    the database table of interest.

    A dialog box displays a tree diagram of all the tables in the selected
    database:

    Use_Case_tMysqlInput_Dynamic_Schema_4.png

  11. Click the table of interest and then click OK to close
    the dialog box.
  12. Set the Query Type as
    Built-In.
  13. In the Query box, enter the query required to retrieve
    all of the columns from the table.

    Warning:

    In the SELECT statement it is necessary to use the
    * wildcard character, to retrieve all of the
    columns from the selected table.

    Use_Case_tMysqlInput_Dynamic_Schema_5.png

Configuring the tMap component

  1. Click tMap to open its
    Basic Settings view in the Component tab.
  2. Click […] next to
    Map Editor to map the column from the
    source file.

    Use_Case_tMysqlInput_Dynamic_Schema_6.png

  3. Drop the column defined as dynamic from the input schema on
    the left onto the output schema on the right.

    The column dropped on the output schema retains its original
    values.
    Warning:

    The dynamic column must be mapped on
    a one to one basis and cannot undergo any transformations. It cannot be
    used in a filter expression or in a variables section. It cannot be
    renamed in the output table and cannot be used as a join condition.

    Use_Case_tMysqlInput_Dynamic_Schema_7.png

  4. Click OK to close the
    Map Editor.

Configuring the tFileOutputDelimited component

  1. Double-click tFileOutputDelimited to set
    its Basic Settings in the Component tab.

    Use_Case_tMysqlInput_Dynamic_Schema_8.png

  2. Next to the File Name field, click the
    […] button to browse your directory
    to where you want to save the output file, then enter a name for the
    file.
  3. Select the Include Header check box to
    retrieve the column names as well as the data.

Executing the Job

  1. Press Ctrl+S to save the
    Job.
  2. Press F6 to run
    it.

The output file is written with all the column names and corresponding data,
retrieved from the database via the dynamic schema:

Use_Case_tMysqlInput_Dynamic_Schema_9.png
Note:

The Job can also be run in the Traces
Debug
mode, which allows you to view the rows as they are written to
the output file, in the workspace.

For further information about defining and mapping dynamic schemas,
see
Talend Studio

User Guide.

tMysqlInput MapReduce properties

These properties are used to configure tMysqlInput running in the MapReduce Job framework.

The MapReduce
tMysqlInput component belongs to the Databases family.

The component in this framework is available only if you have subscribed to one
of the
Talend
solutions with Big Data.

Basic settings

Property type

Either Built-In or Repository.

Built-In: No property data stored centrally.

Repository: Select the repository file where the
properties are stored.

Save_Icon.png

Click this icon to open a database connection wizard and store the
database connection parameters you set in the component Basic settings view.

For more information about setting up and storing database connection
parameters, see
Talend Studio

User Guide.

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.

DB version

Select the version of the database to be used.

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.

Schema and Edit
Schema

A schema is a row description. It defines the number of fields (columns) to
be processed and passed on to the next component. The schema is either Built-In or stored remotely in the Repository.

 

Built-In: You create and store the
schema locally for this component only. Related topic: see
Talend Studio

User Guide.

 

Repository: You have already created
the schema and stored it in the Repository. You can reuse it in various projects and
Job designs. Related topic: see
Talend Studio

User Guide.

 

Click Edit schema to make changes to the schema.
If the current schema is of the Repository type, three
options are available:

  • View schema: choose this option to view the
    schema only.

  • Change to built-in property: choose this
    option to change the schema to Built-in for
    local changes.

  • Update repository connection: choose this
    option to change the schema stored in the repository and decide whether to propagate
    the changes to all the Jobs upon completion. If you just want to propagate the
    changes to the current Job, you can select No
    upon completion and choose this schema metadata again in the [Repository Content] window.

Table
Name

Name of the table to be read.

Die on error

Select the check box to stop the execution of the Job when an error
occurs.

Clear the check box to skip any rows on error and complete the process for
error-free rows. When errors are skipped, you can collect the rows on error using a Row > Reject link.

Query type and Query

Enter your DB query paying particularly attention to properly sequence
the fields in order to match the schema definition.

Usage

Usage rule

In a
Talend
Map/Reduce Job, it is used as a start component and requires
a transformation component as output link. The other components used along with it must be
Map/Reduce components, too. They generate native Map/Reduce code that can be executed
directly in Hadoop.

You need to use the Hadoop Configuration tab in the
Run view to define the connection to a given Hadoop
distribution for the whole Job.

Note that in this documentation, unless otherwise
explicitly stated, a scenario presents only Standard Jobs,
that is to say traditional
Talend
data integration Jobs, and non Map/Reduce Jobs.

Hadoop Connection

You need to use the Hadoop Configuration tab in the
Run view to define the connection to a given Hadoop
distribution for the whole Job.

This connection is effective on a per-Job basis.

Related scenarios

No scenario is available for the Map/Reduce version of this component yet.

tMysqlInput properties for Apache Spark Batch

These properties are used to configure tMysqlInput running in the Spark Batch Job framework.

The Spark Batch
tMysqlInput component belongs to the Databases family.

This component also allows you to connect and read data from a RDS Aurora or a RDS MySQL
database.

The component in this framework is available only if you have subscribed to one
of the
Talend
solutions with Big Data.

Basic settings

Property type

Either Built-In or Repository.

Built-In: No property data stored centrally.

Repository: Select the repository file where the
properties are stored.

Save_Icon.png

Click this icon to open a database connection wizard and store the
database connection parameters you set in the component Basic settings view.

For more information about setting up and storing database connection
parameters, see
Talend Studio

User Guide.

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.

DB version

Select the version of the database to be used.

When the database to be used is RDS Aurora, you need to select Mysql 5.

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.

Schema and Edit
Schema

A schema is a row description. It defines the number of fields (columns) to
be processed and passed on to the next component. The schema is either Built-In or stored remotely in the Repository.

 

Built-In: You create and store the
schema locally for this component only. Related topic: see
Talend Studio

User Guide.

 

Repository: You have already created
the schema and stored it in the Repository. You can reuse it in various projects and
Job designs. Related topic: see
Talend Studio

User Guide.

 

Click Edit schema to make changes to the schema.
If the current schema is of the Repository type, three
options are available:

  • View schema: choose this option to view the
    schema only.

  • Change to built-in property: choose this
    option to change the schema to Built-in for
    local changes.

  • Update repository connection: choose this
    option to change the schema stored in the repository and decide whether to propagate
    the changes to all the Jobs upon completion. If you just want to propagate the
    changes to the current Job, you can select No
    upon completion and choose this schema metadata again in the [Repository Content] window.

Table Name

Type in the name of the table from which you need to read data.

Query type and Query

Specify the database query statement paying particularly attention to the
properly sequence of the fields which must correspond to the schema definition.

If you are using Spark V2.0 onwards, the Spark SQL does not recognize the
prefix of a database table anymore. This means that you must enter only the table name
without adding any prefix that indicates for example the schema this table belongs to.

For example, if you need to perform a query in a table system.mytable, in which the system prefix indicates the
schema that the mytable table belongs to, in the query, you must
enter mytable only.

Advanced settings

Additional JDBC parameters

Specify additional connection properties for the database connection you are
creating. The properties are separated by semicolon and each property is a key-value
pair, for example, encryption=1;clientname=Talend.

This field is not available if the Use an existing
connection
check box is selected.

Spark SQL JDBC parameters

Add the JDBC properties supported by Spark SQL to this table. For a list of
the user configurable properties, see JDBC to other database.

This component automatically set the url, dbtable and driver properties by using the configuration
from the Basic settings tab.

Trim all the String/Char columns

Select this check box to remove leading and trailing whitespace from
all the String/Char columns.

Trim column

Remove leading and trailing whitespace from defined columns.

Note:

Clear Trim all the String/Char
columns
to enable Trim columns in this field.

Enable partitioning

Select this check box to read data in partitions.

Define, within double quotation marks, the following parameters to configure
the partitioning:

  • Partition column: the
    numeric column used as partition key.

  • Lower bound of the partition
    stride
    and Upper bound of the
    partition stride
    : enter the upper bounds and the lower bound to
    determine the partition stride. These bounds do not filter the table rows. All
    rows in the table are partitioned and returned.

  • Number of partitions:
    the number of partitions into which the table rows are split. Each Spark worker
    handles only one of the partitions at a time.

The average size of the partitions is the result of the difference between the
upper bound and the lower bound divided by the number of partitions, that is to say,
(upperBound – lowerBound)/partitionNumber, while the first and the last partitions also
include all the other rows that are not contained in the other partitions.

For example, to partition 1000 rows into 4 partitions, if you enter 0 for the
lower bound and 1000 for the upper bound, each partition will contain 250 rows and so
the partitioning is even. If you enter 250 for the lower bound and 750 for the upper
bound, the second and the third partition will each contain 125 rows and the first and
the last partitions each 375 rows. With this configuration, the partitioning is
skewed.

Usage

Usage rule

This component is used as a start component and requires an output link..

This component should use a tMysqlConfiguration component
present in the same Job to connect to MySQL. You need to select the Use an existing connection check box and then select the tMysqlConfiguration component to be used.

This component, along with the Spark Batch component Palette it belongs to, appears only
when you are creating a Spark Batch Job.

Note that in this documentation, unless otherwise
explicitly stated, a scenario presents only Standard Jobs,
that is to say traditional
Talend
data integration Jobs.

Spark Connection

You need to use the Spark Configuration tab in
the Run view to define the connection to a given
Spark cluster for the whole Job. In addition, since the Job expects its dependent jar
files for execution, you must specify the directory in the file system to which these
jar files are transferred so that Spark can access these files:

  • Yarn mode: when using Google
    Dataproc, specify a bucket in the Google Storage staging
    bucket
    field in the Spark
    configuration
    tab; when using other distributions, use a
    tHDFSConfiguration
    component to specify the directory.

  • Standalone mode: you need to choose
    the configuration component depending on the file system you are using, such
    as tHDFSConfiguration
    or tS3Configuration.

This connection is effective on a per-Job basis.

Related scenarios

For a scenario about how to use the same type of component in a Spark Batch Job, see Writing and reading data from MongoDB using a Spark Batch Job.


Document get from Talend https://help.talend.com
Thank you for watching.
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x