July 30, 2023

tElasticSearchInput – Docs for ESB 7.x


Reads documents from a given Elasticsearch system based on a user-defined

tElasticSearchInput reads ElasticSearch documents from the ElasticSearch system based on user-defined queries, translates the documents into RDDs
(Resilient Distributed Datasets) and sends the RDDs to the Job.

Only one query is allowed per tElasticSearchInput.

tElasticSearchInput properties for Apache Spark Batch

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

The Spark Batch
tElasticSearchInput component belongs to the ElasticSearch family.

This component is available in all Talend products with Big Data and in Talend Data Fabric.

Basic settings

Schema and Edit

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

The schema of the data outputted by this component is read-only, id_document and json_document. The json_document column contains the body of the documents read
from ElasticSearch. If you need to explore data from this json_document column, you have to use tExtractJSONFields to extract the data to be

Use an existing

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


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


Enter the name of the index you want to read documents from.

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


Enter the name of the type the documents to be read 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}.


Enter the ElasticSearch query to be performed by this component.

In editing queries, you need to use the syntax required by ElasticSearch along with escape
characters required by Java, and put the query within double quotation marks.

For example, in the ElasticSearch documentation, an example query reads as

In this Query field, you should write the same query in
the following

Advanced settings


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.


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

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


Usage rule

This component is used as a start component and requires an output

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
data integration Jobs.

Spark Connection

In the Spark
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

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

    • When using Altus, specify the S3 bucket or the Azure
      Data Lake Storage for Job deployment in the Spark
    • 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

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

This connection is effective on a per-Job basis.

Related scenarios

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

Document get from Talend https://help.talend.com
Thank you for watching.
Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x