July 30, 2023

tElasticSearchOutput – Docs for ESB 7.x

tElasticSearchOutput

Writes datasets into a given Elasticsearch system.

tElasticSearchOutput receives RDDs
(Resilient Distributed Datasets) from its preceding component and writes
(update or insert) them into Elasticsearch, a real-time distributed
search and analytics engine, by translating the contents of these
datasets into Elasticsearch documents.

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

tElasticSearchOutput properties for Apache Spark Batch

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

The Spark Batch
tElasticSearchOutput component belongs to the ElasticSearch family.

The component in this framework is available in all subscription-based Talend products with Big Data
and Talend Data Fabric.

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. When you create a Spark
Job, avoid the reserved word line when naming the
fields.

 

Built-In: You create and store the schema locally for this component
only.

 

Repository: You have already created the schema and stored it in the
Repository. You can reuse it in various projects and Job designs.

 

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.

Use an existing
configuration

Select this check box and in the Component List click the relevant connection component to
reuse the connection details you already defined.

Nodes

Enter the location of the cluster hosting the Elasticsearch system to be used.

Index

Enter the name of the index in which you want to write documents.

An index is the largest unit of storage in the Elastisearch system.

Type

Enter the name of the type the documents to be written belong to.

For example, blogpost_en and blogpost_fr can be two types that represent given English blog posts and
French blog posts, respectively.

You can dynamically uses the values of a given column to be document types. If you need to
do so, enter the name of that column into a pair of braces ({}), for example, {blog_author}.

Output document

Select how the document is written into Elasticsearch.

  • JAVABEAN: if you select this option,
    tElasticsearchOutput directly uses the
    input schema to construct the JSON strings to be written.

    For example, if a record with its schema reads as follows

    the document outputted by
    this JAVABEAN option is {“id”:1,”name”:”user”,”age”:18}.
  • JSON: with this option, a read-only json_document column is automatically added to the
    output schema to receive JSON strings (documents in terms of Elasticsearch) from
    its preceding components. This means you need to use tWriteJSONField in the same Job to construct JSON strings before
    outputting them to tElasticsearchOutput. The
    other columns of the schema can be used as metadata of these JSON
    documents.

    Since tWriteJSONField allows you to construct
    JSON trees of different complexities, you can thus manage how the JSON strings
    to be written should look like.

Advanced settings

Document metadata

Complete this table to select the input columns to be used to provide metadata for each
document. This table is typically used along with the json_document option from the Output
document
drop-down list in the Basic
settings
view.

The Column column is automatically fed with the columns
of the input schema. Then in the As metadata column, you
need to select the check box(es) that correspond to the column(s) to be used.

In the Metadata type column, select which type of
document metadata each column is used to provide.

For further information about the metadata types of an Elasticsearch document, see https://www.elastic.co/guide/en/elasticsearch/guide/current/_document_metadata.html.

Use SSL/TLS

Select this check box to enable the SSL or TLS encrypted connection.

Then you need to use the tSetKeystore
component in the same Job to specify the encryption information.

Configuration

Add the parameters accepted by Elasticsearch to perform more customized actions.

For example, enter es.mapping.id in the Key column and true in the
Value column to make the document field/property name
contain the document id. Note that you must put double quotation marks around the entered
information.

For a list of the parameters you can use, see https://www.elastic.co/guide/en/elasticsearch/hadoop/master/configuration.html.

Usage

Usage rule

This component is used as an end component and requires an input link.

Drop a tElasticSearchConfiguration component in the same Job to connect to
ElasticSearch. Then you need to select the Use
an existing configuration
check box and then select the tElasticSearchConfiguration component to be used.

  • Note that the Talend components for Spark Jobs support the
    Elasticsearch versions up to 6.4.2.

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

In the Spark
Configuration
tab in the Run
view, 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 (Yarn client or Yarn cluster):

    • When using Google Dataproc, specify a bucket in the
      Google Storage staging bucket
      field in the Spark configuration
      tab.

    • When using HDInsight, specify the blob to be used for Job
      deployment in the Windows Azure Storage
      configuration
      area in the Spark
      configuration
      tab.

    • When using Altus, specify the S3 bucket or the Azure
      Data Lake Storage for Job deployment in the Spark
      configuration
      tab.
    • When using Qubole, add a
      tS3Configuration to your Job to write
      your actual business data in the S3 system with Qubole. Without
      tS3Configuration, this business data is
      written in the Qubole HDFS system and destroyed once you shut
      down your cluster.
    • When using on-premise
      distributions, use the configuration component corresponding
      to the file system your cluster is using. Typically, this
      system is HDFS and so use tHDFSConfiguration.

  • Standalone mode: use the
    configuration component corresponding to the file system your cluster is
    using, such as tHDFSConfiguration or
    tS3Configuration.

    If you are using Databricks without any configuration component present
    in your Job, your business data is written directly in DBFS (Databricks
    Filesystem).

This connection is effective on a per-Job basis.

Related scenarios

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

tElasticSearchOutput properties for Apache Spark Streaming

These properties are used to configure tElasticSearchOutput running in the Spark Streaming Job framework.

The Spark Streaming
tElasticSearchOutput component belongs to the ElasticSearch family.

This component is available in Talend Real Time Big Data Platform and Talend Data Fabric.

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. When you create a Spark
Job, avoid the reserved word line when naming the
fields.

 

Built-In: You create and store the schema locally for this component
only.

 

Repository: You have already created the schema and stored it in the
Repository. You can reuse it in various projects and Job designs.

 

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.

Use an existing
configuration

Select this check box and in the Component List click the relevant connection component to
reuse the connection details you already defined.

Nodes

Enter the location of the cluster hosting the Elasticsearch system to be used.

Index

Enter the name of the index in which you want to write documents.

An index is the largest unit of storage in the Elastisearch system.

Type

Enter the name of the type the documents to be written belong to.

For example, blogpost_en and blogpost_fr can be two types that represent given English blog posts and
French blog posts, respectively.

You can dynamically uses the values of a given column to be document types. If you need to
do so, enter the name of that column into a pair of braces ({}), for example, {blog_author}.

Output document

Select how the document is written into Elasticsearch.

  • JAVABEAN: if you select this option,
    tElasticsearchOutput directly uses the
    input schema to construct the JSON strings to be written.

    For example, if a record with its schema reads as follows

    the document outputted by
    this JAVABEAN option is {“id”:1,”name”:”user”,”age”:18}.
  • JSON: with this option, a read-only json_document column is automatically added to the
    output schema to receive JSON strings (documents in terms of Elasticsearch) from
    its preceding components. This means you need to use tWriteJSONField in the same Job to construct JSON strings before
    outputting them to tElasticsearchOutput. The
    other columns of the schema can be used as metadata of these JSON
    documents.

    Since tWriteJSONField allows you to construct
    JSON trees of different complexities, you can thus manage how the JSON strings
    to be written should look like.

Advanced settings

Document metadata

Complete this table to select the input columns to be used to provide metadata for each
document. This table is typically used along with the json_document option from the Output
document
drop-down list in the Basic
settings
view.

The Column column is automatically fed with the columns
of the input schema. Then in the As metadata column, you
need to select the check box(es) that correspond to the column(s) to be used.

In the Metadata type column, select which type of
document metadata each column is used to provide.

For further information about the metadata types of an Elasticsearch document, see https://www.elastic.co/guide/en/elasticsearch/guide/current/_document_metadata.html.

Use SSL/TLS

Select this check box to enable the SSL or TLS encrypted connection.

Then you need to use the tSetKeystore
component in the same Job to specify the encryption information.

Configuration

Add the parameters accepted by Elasticsearch to perform more customized actions.

For example, enter es.mapping.id in the Key column and true in the
Value column to make the document field/property name
contain the document id. Note that you must put double quotation marks around the entered
information.

For a list of the parameters you can use, see https://www.elastic.co/guide/en/elasticsearch/hadoop/master/configuration.html.

Usage

Usage rule

This component is used as an end component and requires an input link.

Drop a tElasticSearchConfiguration component in the same Job to connect to
ElasticSearch. Then you need to select the Use
an existing configuration
check box and then select the tElasticSearchConfiguration component to be used.

  • Note that the Talend components for Spark Jobs support the
    Elasticsearch versions up to 6.4.2.

This component, along with the Spark Streaming component Palette it belongs to, appears
only when you are creating a Spark Streaming 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

In the Spark
Configuration
tab in the Run
view, 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 (Yarn client or Yarn cluster):

    • When using Google Dataproc, specify a bucket in the
      Google Storage staging bucket
      field in the Spark configuration
      tab.

    • When using HDInsight, specify the blob to be used for Job
      deployment in the Windows Azure Storage
      configuration
      area in the Spark
      configuration
      tab.

    • When using Altus, specify the S3 bucket or the Azure
      Data Lake Storage for Job deployment in the Spark
      configuration
      tab.
    • When using Qubole, add a
      tS3Configuration to your Job to write
      your actual business data in the S3 system with Qubole. Without
      tS3Configuration, this business data is
      written in the Qubole HDFS system and destroyed once you shut
      down your cluster.
    • When using on-premise
      distributions, use the configuration component corresponding
      to the file system your cluster is using. Typically, this
      system is HDFS and so use tHDFSConfiguration.

  • Standalone mode: use the
    configuration component corresponding to the file system your cluster is
    using, such as tHDFSConfiguration or
    tS3Configuration.

    If you are using Databricks without any configuration component present
    in your Job, your business data is written directly in DBFS (Databricks
    Filesystem).

This connection is effective on a per-Job basis.

Related scenarios

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


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