tSortRow - 6.1

Talend Open Studio for Big Data Components Reference Guide

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

Function

Sorts input data based on one or several columns, by sort type and order

Purpose

Helps creating metrics and classification table.

tSortRow properties

Component family

Processing

 

Basic 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.

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.

Click Sync columns to retrieve the schema from the previous component connected in the Job.

 

 

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.

 

Criteria

Click + to add as many lines as required for the sort to be complete. By default the first column defined in your schema is selected.

 

 

Schema column: Select the column label from your schema, which the sort will be based on. Note that the order is essential as it determines the sorting priority.

 

 

Sort type: Numerical and Alphabetical order are proposed. More sorting types to come.

 

 

Order: Ascending or descending order.

Advanced settings

Sort on disk

Customize the memory used to temporarily store output data.

Temp data directory path: Set the location where the temporary files should be stored.

Create temp data directory if not exists: Select this check box to create the directory if it does not exist.

Buffer size of external sort: Type in the size of physical memory you want to allocate to sort processing.

 

tStatCatcher Statistics

Select this check box to gather the Job processing metadata at the Job level as well as at each component level.

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

This component handles flow of data therefore it requires input and output, hence is defined as an intermediary step.

Limitation

n/a

Scenario : Sorting entries

This scenario describes a three-component Job. A tRowGenerator is used to create random entries which are directly sent to a tSortRow to be ordered following a defined value entry. In this scenario, we suppose the input flow contains names of salespersons along with their respective sales and their years of presence in the company. The result of the sorting operation is displayed on the Run console.

  • Drop the three components required for this use case: tRowGenerator, tSortRow and tLogRow from the Palette to the design workspace.

  • Connect them together using Row main links.

  • On the tRowGenerator editor, define the values to be randomly used in the Sort component. For more information regarding the use of this particular component, see tRowGenerator

  • In this scenario, we want to rank each salesperson according to its Sales value and to its number of years in the company.

  • Double-click tSortRow to display the Basic settings tab panel. Set the sort priority on the Sales value and as secondary criteria, set the number of years in the company.

  • Use the plus button to add the number of rows required. Set the type of sorting, in this case, both criteria being integer, the sort is numerical. At last, given that the output wanted is a rank classification, set the order as descending.

  • Display the Advanced Settings tab and select the Sort on disk check box to modify the temporary memory parameters. In the Temp data directory path field, type the path to the directory where you want to store the temporary data. In the Buffer size of external sort field, set the maximum buffer value you want to allocate to the processing.

Warning

The default buffer value is 1000000 but the more rows and/or columns you process, the higher the value needs to be to prevent the Job from automatically stopping. In that event, an "out of memory" error message displays.

  • Make sure you connected this flow to the output component, tLogRow, to display the result in the Job console.

  • Press F6 to run the Job. The ranking is based first on the Sales value and then on the number of years of experience.