Skip to main content Skip to complementary content

tRedshiftOutput properties for Apache Spark Streaming

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

The Spark Streaming tRedshiftOutput component belongs to the Databases family.

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

Basic settings

Property type

Either Built-In or Repository.

Built-In: No property data stored centrally.

Repository: Select the repository file where the properties are stored.

Click this icon to open a database connection wizard and store the database connection parameters you set in the component Basic settings view.

For more information about setting up and storing database connection parameters, see Talend Studio User Guide.

Use an existing connection

Select this check box and in the Component List drop-down list, select the desired connection component to reuse the connection details you already defined.

Host

Enter the endpoint of the database you need to connect to in Redshift.

Port

Enter the port number of the database you need to connect to in Redshift.

The related information can be found in the Cluster Database Properties area in the Web console of your Redshift.

For further information, see Managing clusters console.

Username and Password

Enter the authentication information to the Redshift database you need to connect to.

To enter the password, click the [...] button next to the password field, and then in the pop-up dialog box enter the password between double quotes and click OK to save the settings.

Database

Enter the name of the database you need to connect to in Redshift.

The related information can be found in the Cluster Database Properties area in the Web console of your Redshift.

For further information, see Managing clusters console.

The bucket and the Redshift database to be used must be in the same region on Amazon. This could avoid the S3ServiceException errors known to Amazon. For further information about these errors, see S3ServiceException Errors.

Schema

Enter the name of the database schema to be used in Redshift. The default schema is called PUBLIC.

A schema in terms of Redshift is similar to a operating system directory. For further information about a Redshift schema, see Schemas.

Additional JDBC Parameters

Specify additional JDBC properties for the connection you are creating. The properties are separated by ampersand & and each property is a key-value pair. For example, ssl=true & sslfactory=com.amazon.redshift.ssl.NonValidatingFactory, which means the connection will be created using SSL.

S3 configuration

Select the tS3Configuration component from which you want Spark to use the configuration details to connect to S3.

You need drop the tS3Configuration component to be used alongside tRedshiftConfiguration in the same Job so that this tS3Configuration is displayed on the S3 configuration list.

S3 temp path

Enter the location in S3 in which the data to be transferred from or to Redshift is temporarily stored.

This path is independent of the temporary path you need to set in the Basic settings tab of tS3Configuration.

Table

Enter the name of the table to which the data will be written. Note that only one table can be written at a time.

If this table does not exist, you need to select Create from the Save mode list to allow tRedshiftOutput to create it.

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.

Save mode

Select the actions you want tRedshiftOutput to perform on the specified table.

  • Create: tRedshiftOutput creates the specified table and writes data in this table.

  • Append: tRedshiftOutput appends data to an existing table.

  • Overwrite: tRedshiftOutput overwrites the data of the specified table.

    This overwrite impacts the availability of the target table. For this reason, if you need to keep this table highly available, you need to select the Use staging table check box in the Advanced settings tab to make tRedshiftOutput create and write data in a staging table and upon the success of this write, replace the target table with the staging one. With the staging table enabled, in case the write fails, the target table can be quickly restored.

Advanced settings

Distribution style

Select the distribution style to be applied by tRedshiftOutput on the data to be written.

For further information about each of the distribution style, see Distribution styles.

Define sort key

Select this check box to sort the data to be written based on given columns of the data.

Once selecting it, you need to select the column(s) to be used as the key(s) of the sort. For further information about the different type of sort keys, see Choosing sort keys.

Use staging table

Select the Use staging table check box to make tRedshiftOutput create and write data in a staging table and upon the success of this write, replace the target table with the staging one.

This feature is available only when you have selected Overwrite from the Save mode list and is recommended when you need to keep the target table of the overwrite highly available.

Define pre-actions

Select this check box and in the field that is displayed, add a semicolon-separated(;) list of SQL statements that are executed before tRedshiftOutput starts to write data.

For example, using the following statement, you remove all of the rows from the Movie table that meet the condition over the Movie and the Director tables.
delete from movie using director where movie.movieid=director.directorid;

Define post-actions

Select this check box and in the field that is displayed, add a semicolon-separated(;) list of SQL statements that are executed after tRedshiftOutput has successfully written data.

For example, using the following statement, you grant the Select privilege on the Movie table to the user ychen.
grant select on table movie to ychen;

Define extra copy options

Select this check box and in the field that is displayed, add a semicolon-separated(;) list of SQL statements that are executed along with the write of the data.

tRedshiftOutput uses the Copy statement of Redshift SQL to write data. The list of SQL statements you add here is actually appended to the Copy statement and so only the statements that make sense at the end of this Copy command should be used. For example, COMPUPDATE that is used to control whether compression encodings are automatically applied during the execution of a Copy.

For further information about the extra options you can choose, see Optional parameters.

Usage

Usage rule

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

This component should use a tRedshiftConfiguration component present in the same Job to connect to Redshift. You need to drop a tRedshiftConfiguration component alongside this component and configure the Basic settings of this component to use tRedshiftConfiguration.

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