tNamedPipeOutput - 6.1

Talend Components Reference Guide

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

tNamedPipeOutput properties

Component family

File/NamedPipe

 

Function

tNamedPipeOutput writes data into an existing open named-pipe.

Purpose

This component allows you to write data into an existing open named-pipe.

Basic settings

Use existing pipe connection

Select this check box to use an existing named-pipe in the Pipe component list, or clear this check box to specify a named-pipe in Pipe name field.

 

Pipe component

Select an existing named-pipe component from the list.

Note

This check box will display only when you select Use existing pipe connection.

 

Pipe name

Fill in the field with the name of an existing named-pipe.

Note

This check box will display only when you clear Use existing pipe connection.

 

Row separator

String (ex: "\n"on Unix) to distinguish rows in the output file.

 

Field separator

Character, string or regular expression to separate fields of the output file.

 

CSV options

Select this check box to take into account all parameters specific to CSV files, in particular Escape char and Text enclosure parameters.

 

Schema and Edit Schema

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

Since version 5.6, both the Built-In mode and the Repository mode are available in any of the Talend solutions.

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: The schema will be created and stored locally for this component only. Related topic: see Talend Studio User Guide.

 

 

Repository: The schema already exists and is stored in the Repository, hence can be reused in various projects and Job flowcharts. Related topic: see Talend Studio User Guide.

 

Delete pipe if it exists

Select this check box to avoid duplicate named-pipe.

Advanced settings

Boolean type

Select a boolean type from the list.

 

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 pipe connection dynamically from multiple connections planned in your Job.

The Dynamic settings table is available only when the Use existing pipe connection check box is selected in the Basic settings view. When a dynamic parameter is defined, the Pipe 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

NB_LINE: the number of rows read by an input component or transferred to an output component. This is a Flow variable and it returns an integer.

PIPE_NAME: the name of the named-pipe. This is a Flow variable and it returns a string.

PIPE_NATIVE_NAME: the native name of the named-pipe. This is a Flow variable and it returns a string.

PIPE_OUTPUTSTREAM: the output stream of the named-pipe. This is a Flow variable and it returns an object.

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 is usually connected to another component in a subjob that reads data from a source.

Limitation

Due to license incompatibility, one or more JARs required to use this component are not provided. You can install the missing JARs for this particular component by clicking the Install button on the Component tab view. You can also find out and add all missing JARs easily on the Modules tab in the Integration perspective of your studio. For details, see https://help.talend.com/display/KB/How+to+install+external+modules+in+the+Talend+products or the section describing how to configure the Studio in the Talend Installation Guide.

Scenario: Writing and loading data through a named-pipe

The following scenario creates a multi-component Job, which writes data into an open named-pipe and displays the data onto the console.

Dropping and linking the components

  1. Drop the following components from the Palette to the design workspace: tNamedPipeOpen, tParallelize, tNamedPipeClose, tFileInputDelimited, tSleep, tLogRow, tRowGenerator and tNamedPipeOutput.

  2. Connect tNamedPipeOpen to tParallelize using a Trigger > OnSubjobOk connection.

  3. Connect tParallelize to tFileInputDelimited using a Trigger > Parallelize connection.

  4. Connect tParallelize to tSleep using a Trigger > Parallelize connection.

  5. Connect tFileInputDelimited to tLogRow using a Row > Main connection.

  6. Connect tParallelize to tNamedPipeClose using a Trigger > Synchronize (Wait for all) connection.

  7. Connect tSleep to tRowGenerator using a Trigger > OnComponentOk connection.

  8. Connect tRowGenerator to tNamedPipeOutput using a Row > Main connection.

Configuring the components

Configuring the input component

  1. Double-click tNamedPipeOpen to define its propeties in its Basic settings view.

    Fill in the Name field with the name of a named-pipe and select Delete if already exist to avoid duplicate named-pipe.

  2. Double-click tParallelize to define its properties in its Basic settings view.

    Select end of all subjobs from the Wait for list.

    Fill in the Sleep Duration field with 100 to set the sleep duration.

  3. Double-click tFileInputDelimited to define its properties in its Basic settings view.

    Fill in the File name/Stream field with the following expression to use the name of the existing named-pipe defined in the Basic settings view of tNamedPipeOpen:

  4. ((String)globalMap.get("tNamedPipeOpen_1_PIPE_NATIVE_NAME"))

  5. Click the three-dot button next to Edit schema.

  6. Click the plus button to add three columns for tFileInputDelimited. Fill the three Column fields with id, first_name and last_name and set the Type of id to Integer. Keep the rest of the settings as default.

  7. Click OK to save the settings for the schema.

  8. Keep the rest of the settings in the Basic settings view of tFileInputDelimited as default.

  9. Double-click tSleep and fill the Pause (in seconds) field with 1.

  10. Double-click tRowGenerator to define its properties in its Basic settings view.

  11. Click RowGenerator Editor to define the schema.

  12. Click the plus button to add three columns for tRowGenerator. Fill the three Column fields with id, first_name and last_name and set the Type of id to Integer. Keep the rest of the settings of Type as default.

  13. Select sequence from the list in the Functions field for id.

  14. Select getFirstName from the list in the Functions field for Column first_name.

  15. Select TalendDataGenerator.getLastName from the list in the Functions field for Column last_name.

  16. Select id, fill the Value field under Function parameters tab with s1 for sequence identifier, 1001 for start value and 1 for step.

  17. Click OK to save the settings.

Configuring the output component

  1. Double-click tNamedPipeOutput to define its properties in its Basic settings view.

  2. Select the Use existing pipe connection check box and select tNamedPipeOpen_1 from the Pipe component list.

  3. Select Delete pipe if it exists to avoid duplicate named-pipe.

  4. Click Sync columns to retrieve the schema from the preceding component.

  5. Leave the rest of the settings as they are.

  6. Double-click tLogRow to define its properties in its Basic settings view.

  7. Click Sync columns to retrieve the schema from the preceding component.

  8. Select Table in the Mode area.

  9. Double-click tNamedPipeClose to define its properties in its Basic settings view.

  10. Select tNamedPipeOpen_1 from the Pipe list.

Saving and executing the Job

  • Press F6 to execute the Job.

The data written into the named-pipe is displayed onto the console.