JDBC Snowflake Sink Connector
Support those engines
Spark
Flink
SeaTunnel Zeta## Key features
Write data through jdbc. Support Batch mode and Streaming mode, support concurrent writing.
datasource | supported versions | driver | url | maven |
---|---|---|---|---|
snowflake | Different dependency version has different driver class. | net.snowflake.client.jdbc.SnowflakeDriver | jdbc:snowflake://.snowflakecomputing.com | Download |
Snowflake Data type | SeaTunnel Data type |
---|---|
BOOLEAN | BOOLEAN |
TINYINT SMALLINT BYTEINT |
SHORT_TYPE |
INT INTEGER |
INT |
BIGINT | LONG |
DECIMAL NUMERIC NUMBER |
DECIMAL(x,y) |
DECIMAL(x,y)(Get the designated column's specified column size.>38) | DECIMAL(38,18) |
REAL FLOAT4 |
FLOAT |
DOUBLE DOUBLE PRECISION FLOAT8 FLOAT |
DOUBLE |
CHAR CHARACTER VARCHAR STRING TEXT VARIANT OBJECT |
STRING |
DATE | DATE |
TIME | TIME |
DATETIME TIMESTAMP TIMESTAMP_LTZ TIMESTAMP_NTZ TIMESTAMP_TZ |
TIMESTAMP |
BINARY VARBINARY GEOGRAPHY GEOMETRY |
BYTES |
name | type | required | default value | description |
---|---|---|---|---|
url | String | Yes | - | The URL of the JDBC connection. Refer to a case: jdbc:snowflake://.snowflakecomputing.com |
driver | String | Yes | - | The jdbc class name used to connect to the remote data source, if you use Snowflake the value is net.snowflake.client.jdbc.SnowflakeDriver . |
user | String | No | - | Connection instance user name |
password | String | No | - | Connection instance password |
query | String | No | - | Use this sql write upstream input datas to database. e.g INSERT ... ,query have the higher priority |
database | String | No | - | Use this database and table-name auto-generate sql and receive upstream input datas write to database.This option is mutually exclusive with query and has a higher priority. |
table | String | No | - | Use database and this table-name auto-generate sql and receive upstream input datas write to database. This option is mutually exclusive with query and has a higher priority. |
primary_keys | Array | No | - | This option is used to support operations such as insert , delete , and update when automatically generate sql. |
support_upsert_by_query_primary_key_exist | Boolean | No | false | Choose to use INSERT sql, UPDATE sql to process update events(INSERT, UPDATE_AFTER) based on query primary key exists. This configuration is only used when database unsupport upsert syntax. Note: that this method has low performance |
connection_check_timeout_sec | Int | No | 30 | The time in seconds to wait for the database operation used to validate the connection to complete. |
max_retries | Int | No | 0 | The number of retries to submit failed (executeBatch) |
batch_size | Int | No | 1000 | For batch writing, when the number of buffered records reaches the number of batch_size or the time reaches batch_interval_ms , the data will be flushed into the database |
batch_interval_ms | Int | No | 1000 | For batch writing, when the number of buffers reaches the number of batch_size or the time reaches batch_interval_ms , the data will be flushed into the database |
max_commit_attempts | Int | No | 3 | The number of retries for transaction commit failures |
transaction_timeout_sec | Int | No | -1 | The timeout after the transaction is opened, the default is -1 (never timeout). Note that setting the timeout may affect exactly-once semantics |
auto_commit | Boolean | No | true | Automatic transaction commit is enabled by default |
common-options | no | - | Sink plugin common parameters, please refer to Sink Common Options for details |