Skip to main content Skip to complementary content

tMap properties for Apache Spark Streaming

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

The Spark Streaming tMap component belongs to the Processing family.

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

Basic settings

Map editor

It allows you to define the tMap routing and transformation properties.

When you click the Property Settings button at the top of the input area, a Property Settings dialog box is displayed in which you can set the following parameters:

  • If you do not want to handle execution errors, select the Die on error check box (selected by default). It will kill the Job if there is an error.

  • To maximize the data transformation performance in a Job that handles multiple lookup input flows with large amounts of data, you can select the Lookup in parallel check box.

  • Temp data directory path: enter the path where you want to store the temporary data generated for lookup loading. For more information on this folder, see Solving memory limitation issues in tMap use.

  • Max buffer size (nb of rows): enter the size of physical memory, in number of rows, you want to allocate to processed data.

Mapping links display as

Auto: the default setting is curves links

Curves: the mapping display as curves

Lines: the mapping displays as straight lines. This last option allows to slightly enhance performance.

Preview

The preview is an instant shot of the Mapper data. It becomes available when Mapper properties have been filled in with data. The preview synchronization takes effect only after saving changes.

Use replicated join

Select this check box to perform a replicated join between the input flows. By replicating each lookup table into memory, this type of join doesn't require an additional shuffle-and-sort step, thus speeding up the whole process.

You need to ensure that the entire lookup tables fit in memory.

Usage

Usage rule

It usually works with a Lookup Input component such as tMongoDBLookupInput to construct and consume a lookup flow. In this situation, you must use Reload at each row or Reload at each row (cache) to read data from the lookup flow. This approach ensures that no redundant records are stored in memory before being sent to tMap. For a use case in which tMap is used with a Lookup Input component, see Reading and writing data in MongoDB using a Spark Streaming Job. Note that Reload at each row or Reload at each row (cache) in a streaming Job is supported by the Lookup Input components only.

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 on-premises 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 Apache Spark Batch or tS3Configuration Apache Spark Batch.

    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.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!