Skip to main content
Version: Next

Redshift

JDBC Redshift sink Connector

Support those engines

Spark
Flink
Seatunnel Zeta

Key features

Use Xa transactions to ensure exactly-once. So only support exactly-once for the database which is support Xa transactions. You can set is_exactly_once=true to enable it.

Description

Write data through jdbc. Support Batch mode and Streaming mode, support concurrent writing, support exactly-once semantics (using XA transaction guarantee).

Supported DataSource list

datasourcesupported versionsdriverurlmaven
redshiftDifferent dependency version has different driver class.com.amazon.redshift.jdbc.Driverjdbc:redshift://localhost:5439/databaseDownload

Database dependency

  1. You need to ensure that the jdbc driver jar package has been placed in directory ${SEATUNNEL_HOME}/plugins/.

For SeaTunnel Zeta Engine

  1. You need to ensure that the jdbc driver jar package has been placed in directory ${SEATUNNEL_HOME}/lib/.

Data Type Mapping

SeaTunnel Data typeRedshift Data type
BOOLEANBOOLEAN
TINYINT
SMALLINT
SMALLINT
INTINTEGER
BIGINTBIGINT
FLOATREAL
DOUBLEDOUBLE PRECISION
DECIMALNUMERIC
STRING(<=65535)CHARACTER VARYING
STRING(>65535)SUPER
BYTESBINARY VARYING
TIMETIME
TIMESTAMPTIMESTAMP
MAP
ARRAY
ROW
SUPER

Task Example

Simple:

sink {
jdbc {
url = "jdbc:redshift://localhost:5439/mydatabase"
driver = "com.amazon.redshift.jdbc.Driver"
user = "myUser"
password = "myPassword"

generate_sink_sql = true
schema = "public"
table = "sink_table"
}
}

CDC(Change data capture) event

CDC change data is also supported by us In this case, you need config database, table and primary_keys.

sink {
jdbc {
url = "jdbc:redshift://localhost:5439/mydatabase"
driver = "com.amazon.redshift.jdbc.Driver"
user = "myUser"
password = "mypassword"

generate_sink_sql = true
schema = "public"
table = "sink_table"

# config update/delete primary keys
primary_keys = ["id","name"]
}
}