Skip to main content Skip to complementary content

tSynonymSearch properties for Apache Spark Streaming

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

The Spark Streaming tSynonymSearch component belongs to the Data Quality 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.

Default columns are provided in the schema of this component in order to present the matching details between the input data and the reference entries.

For further information about the default schema columns, see Default schema columns.

Click Sync columns to retrieve the schema from the previous component connected in the Job.

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.

 

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.

Limit of each group

Type in a number to indicate the maximum display of the reference entries matched to each group of the input data. Each row of input data is recognized as one group by this component.

If the entries count exceeds the indicated limit, this component displays the ones scored the highest. For further information about the scores used on the matched entries, see Default schema columns.

Columns to search

Complete this table to provide parameters used to match the input data and the reference entries in a given index.

The columns to be completed are:

- Input column: select the columns of interest from the input data schema.

- Reference output column: select the columns from the output data schema to present the matched reference entries found in the given synonym index.

Index path: enter the path to the index you need to search in the cluster. The value must be enclosed in double quotation marks.

When using Spark Local mode, use a path to a local folder. For Apache Spark 2.0 and earlier versions, the path must start with file:///. You cannot use a path to a HDFS folder.

Otherwise, use a path to the folder where the index is stored in HDFS. The path must start with hdfs://. You cannot use a path to a local folder.

- Search mode: select the search mode you want to use to match input strings against index strings. For further information about available search modes, see Search modes for Index rules.

- Score threshold (available for all modes): set a numerical value above 0.0 by which you want to filter the results. Set the threshold to 0.0 to disable the filter.

The score value is returned by the Lucene engine and can be anything above 0. The higher the score is, the higher is the similarity of the match. Use the threshold to remove low scoring matches from the output results. There is no easy way to decide about a good threshold value. It will depend on the input data and the indexed data.

- Max edits (based on the Levenshtein algorithm and available for the Match all fuzzy and Match any fuzzy modes): select an edit distance, 1 or 2, from the list. Any terms in the edit distance from the input data are matched. With a max edit distance 2, for example, you can have up to 2 insertions, deletions, or substitutions

Fuzzy match gains much in performance with Max edits for fuzzy match.

Information noteNote:

Jobs migrated in the Studio from older releases run correctly, but results might be slightly different because Max edits for fuzzy match is now used in place of Minimum similarity for fuzzy match.

- Word distance (available for the Match partial mode): select from the list the maximum number of words allowed to come inside a sequence of words that may be found in the index, default value is 1.

- Limit: type in a number to indicate the maximum reference entries to be matched to each record of the corresponding input column you have selected.

Global Variables

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

Usage rule

This component, along with the Spark Streaming component Palette it belongs to, appears only when you are creating a Spark Streaming Job.

This component is used as an intermediate step.

You need to use the Spark Configuration tab in the Run view to define the connection to a given Spark cluster for the whole Job.

This connection is effective on a per-Job basis.

For further information about a Talend Spark Streaming Job, see the sections describing how to create, convert and configure a Talend Spark Streaming 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.

Connections

Outgoing links (from this component to another):

Row: Main; Reject

Trigger: Run if; On Component Ok; On Component Error.

Incoming links (from one component to this one):

Row: Main; Reject

For further information regarding connections, see Talend Studio User Guide.

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-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!