tLoop - 6.3

Talend Components Reference Guide

EnrichVersion
6.3
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

Function

tLoop iterates on a task execution.

Purpose

tLoop allows you to execute a task or a Job automatically, based on a loop

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

tLoop Properties

Component family

Orchestration

 

Basic settings

Loop Type

Select a type of loop to be carried out: either For or While.

For: The task or Job is carried out for the defined number of iteration

While: The task or Job is carried until the condition is met.

For

From

Type in the first instance number which the loop should start from. A start instance number of 2 with a step of 2 means the loop takes on every even number instance.

 

To

Type in the last instance number which the loop should finish with.

 

Step

Type in the step the loop should be incremented of. A step of 2 means every second instance.

 

Values are increasing

Select this check box to only allow an increasing sequence. Deselect this check box to only allow a decreasing sequence.

While

Declaration

Type in an expression initiating the loop.

 

Condition

Type in the condition that should be met for the loop to end.

 

Iteration

Type in the expression showing the operation to be performed at each loop.

Usage

tLoop is to be used as a start component and can only be used with an iterate connection to the next component.

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.

CURRENT_VALUE: the current value. Only available for a For type loop. This is a Flow variable and it returns an integer.

CURRENT_ITERATION: the sequence number of the current iteration. This is a Flow variable and it returns an integer.

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.

Connections

Outgoing links (from this component to another):

Row: Iterate.

Trigger: On Subjob Ok; On Subjob Error; Run if; On Component Ok; On Component Error.

Incoming links (from one component to this one):

Row: Iterate;

Trigger: On Subjob Ok; On Subjob Error; Run if; On Component Ok; On Component Error; Synchronize; Parallelize.

For further information regarding connections, see Talend Studio User Guide.

Log4j

If you are using a subscription-based version of the Studio, the activity of this component can be logged using the log4j feature. For more information on this feature, see Talend Studio User Guide.

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.

Limitation

n/a

Scenario: Job execution in a loop

This scenario describes a Job composed of a parent Job and a child Job. The parent Job implements a loop which executes a child Job five times, with a pause of three seconds between each two executions.

  1. Create a Parent Job, and drop tLoop, tRunJob, and tSleep components to the workspace.

  2. Connect tLoop to tRunJob using a Row > Iterate connection, and connect tRunJob to tSleep using a Row > Main connection.

  3. Create a Child Job, and drop tRowGenerator and tLogRow components to the workspace.

  4. Connect tRowGenerator to tLogRow using a Row > Main connection.

  5. On the Basic settings view of the tLoop component, choose For loop type and type in the instance number to start from (1), to finish with (5) and the step (1).

  6. On the Basic settings view of the tRunJob component, select Child Job in the Job field.

  7. On the Basic settings view of the tSleep component, enter 3 in the Pause field.

  8. Double-click tRowGenerator to open the schema editor. Then click the plus button to add four new columns:

    • id, to generate sequence numbers

    • firstname, to generate random first names

    • lastname, to generate random last names

    • city, to generate random city names

    For more information about tRowGenerator, see tRowGenerator.

  9. Press F6 to run the Parent Job.

    The Child Job will be executed five times with a three-second pause between each two executions, displaying random personal information on the Run console as configured in the tRowGenerator component.

tLoop Properties in Spark Batch Jobs

Component family

Orchestration

 

Basic settings

Loop Type

Select a type of loop to be carried out: either For or While.

For: The task or Job is carried out for the defined number of iteration

While: The task or Job is carried until the condition is met.

For

From

Type in the first instance number which the loop should start from. A start instance number of 2 with a step of 2 means the loop takes on every even number instance.

 

To

Type in the last instance number which the loop should finish with.

 

Step

Type in the step the loop should be incremented of. A step of 2 means every second instance.

 

Values are increasing

Select this check box to only allow an increasing sequence. Deselect this check box to only allow a decreasing sequence.

While

Declaration

Type in an expression initiating the loop.

 

Condition

Type in the condition that should be met for the loop to end.

 

Iteration

Type in the expression showing the operation to be performed at each loop.

Usage in Spark Batch Jobs

tLoop is to be used as a start component and can only be used with an iterate connection to the next component.

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.

CURRENT_VALUE: the current value. Only available for a For type loop. This is a Flow variable and it returns an integer.

CURRENT_ITERATION: the sequence number of the current iteration. This is a Flow variable and it returns an integer.

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.

Log4j

If you are using a subscription-based version of the Studio, the activity of this component can be logged using the log4j feature. For more information on this feature, see Talend Studio User Guide.

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.

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, one and only one file system related component from the Storage family is required in the same Job so that Spark can use this component to connect to the file system to which the jar files dependent on the Job are transferred:

This connection is effective on a per-Job basis.

Limitation

n/a

Related scenarios

No scenario is available for the Spark Batch version of this component yet.