August 17, 2023

tExtractRegexFields – Docs for ESB 5.x

tExtractRegexFields

tExtractRegexFields_icon32_white.png

tExtractRegexFields properties

Component family

Processing/Fields

 

Function

tExtractRegexFields generates
multiple columns from a given column using regex matching.

Purpose

tExtractRegexFields allows you to
use regular expressions to extract data from a formatted
string.

Basic settings

Field to split

Select an incoming field from the Field to
split
list to split.

 

Regex

Enter a regular expression according to the programming language
you are using.

 

Property type

Either Built-in or Repository. This feature is available to
the Map/Reduce version only.

   

Built-in: no property data stored
centrally.

   

Repository: reuse properties
stored centrally under the Hadoop
Cluster
node of the Repository tree.

The fields that come after are pre-filled in using the fetched
data.

For further information about the Hadoop
Cluster
node, see the Getting Started Guide.

 

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.

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.

Warning

Make sure that the output schema does not contain any column
with the same name as the input column to be split. Otherwise,
the regular expression will not work as expected.

 

 

Built-in: You create and store
the schema locally for the component. 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
.

Advanced settings

Die on error

Select this 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.

 

Check each row structure against
schema

Select this check box to check whether the total number of columns
in each row is consistent with the schema. If not consistent, an
error message will be displayed on the console.

This feature is not available to the Map/Reduce
version of tExtractRegexFields.

 

Encoding

Select the encoding from the list or select Custom and
define it manually. This field is compulsory for database data handling.

This feature is available to the Map/Reduce version only.

 

tStatCatcher Statistics

Select this check box to gather the 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 components. It allows you to extract data from a
delimited field, using a Row >
Main link, and enables you to
create a reject flow filtering data which type does not match the
defined type.

Usage in Map/Reduce Jobs

If you have subscribed to one of the Talend solutions with Big Data, you can also
use this component as a Map/Reduce component. In a Talend Map/Reduce Job, this
component is used as an intermediate step and 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.

This connection is effective on a per-Job basis.

For further information about a Talend Map/Reduce Job, see the sections
describing how to create, convert and configure a Talend Map/Reduce Job of the
Talend Big Data Getting Started Guide.

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.

Log4j

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: Extracting name, domain and TLD from e-mail addresses

This scenario describes a three-component Job where tExtractRegexFields is used to specify a regular expression that
corresponds to one column in the input data, email. The tExtractRegexFields component is used to perform the actual
regular expression matching. This regular expression includes field identifiers for user
name, domain name and Top-Level Domain (TLD) name portions in each e-mail address. If
the given e-mail address is valid, the name, domain and TLD are extracted and displayed
on the console in three separate columns. Data in the other two input columns,
id and age is extracted and routed to
destination as well.

use_case_textractregexfield.png

Setting up the Job

  1. Drop the following components from the Palette onto the design workspace: tFileInputDelimited, tExtractRegexFields, and tLogRow.

  2. Connect tFileInputDelimited to tExtractRegexFields using a Row > Main link, and do
    the same to connect tExtractRegexFields to
    tLogRow.

Configuring the components

  1. Double-click the tFileInputDelimited
    component to open its Basic settings view
    in the Component tab.

    use_case_textractregexfield1.png
  2. Click the […] button next to the
    File name/Stream field to browse to the
    file where you want to extract information from.

    The input file used in this scenario is called test4.
    It is a text file that holds three columns: id,
    email, and
    age.

    For more information, see tFileInputDelimited.

  3. Click Edit schema to define the data
    structure of this input file.

  4. Double-click the tExtractRegexFields
    component to open its Basic settings
    view.

    use_case_textractregexfield2.png
  5. Select the column to split from the Field to
    split
    list: email in this
    scenario.

  6. Enter the regular expression you want to use to perform data matching in
    the Regex panel. In this scenario, the
    regular expression "([a-z]*)@([a-z]*).([a-z]*)" is used to
    match the three parts of an email address: user name, domain name and TLD
    name.

    For more information about the regular expression, see http://en.wikipedia.org/wiki/Regular_expression.

  7. Click Edit schema to open the [Schema of tExtractRegexFields] dialog box, and
    click the plus button to add five columns for the output schema.

    In this scenario, we want to split the input email
    column into three columns in the output flow, name,
    domain,
    and tld. The two other input
    columns will be extracted as they are.

    use_case_textractregexfield3.png
  8. Double-click the tLogRow component to
    open its Component view.

  9. In the Mode area, select Table (print values in cells of a table).

Saving and executing the Job

  1. Press Ctrl+S to save your Job.

  2. Execute the Job by pressing F6 or
    clicking Run on the Run tab.

    use_case_textractregexfield6.png

The tExtractRegexFields component matches all
given e-mail addresses with the defined regular expression and extracts the name,
domain, and TLD names and displays them on the console in three separate columns.
The two other columns, id and age, are
extracted as they are.


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