# 关系型数据库组件使用说明
# 组件说明
JDBC Sink 连接器。通过 JDBC 向不同的关系型数据库写入数据。
# 配置项说明
配置名称 | 数据类型 | 是否必填 | 默认值 | 描述 |
---|---|---|---|---|
节点名称 | String | 是 | - | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。 |
节点编码 | String | 是 | - | 当前创建的节点编码,以此标识此组件,由用户自定义且不可为空。命名可包含字母、数字、下划线。 |
选择数据源 | String | 是 | - | 从下拉选项中选择列出的当前项目已经关联的数据源。 |
写入方式 | Boolean | 是 | 通过库表生成 SQL | 选择"通过库表生成 SQL"时需要设置"数据库名称"和"表名称"。选择"自定义 SQL"时需要用户编写 SQL 语句。 |
选择库 | String | 是 | - | 从下拉列表中选择数据库。 |
选择表 | String | 是 | - | 从下拉列表中选择数据表。 |
是否启用upsert语法支持 | String | 是 | 否 | 如果选择"是",需要设置"主键",如果选择"否",则不需要设置"主键"。根据查询主键是否存在,选择使用INSERT sql、UPDATE sql来处理更新事件(INSERT、UPDATE_AFTER)。此配置仅在数据库不支持 upsert 语法时使用。 注意:此方法性能低下 |
主键 | String | 否 | 当启动"upsert语法支持"时,需要选择主键。 | |
表添加模式 | String | 否 | CREATE_SCHEMA_WHEN_NOT_EXIST | 对于目标表的情况,处理方式有三种: 重新创建表 表不存在时创建 表不存在时报告错误 |
数据添加模式 | String | 否 | APPEND_DATA | 支持四种模式: 1、APPEND_DATA(追加数据):数据统一追加到目标表中; 2、DROP_DATA(同步前删除数据):先清空目标表数据,然后再给目标表添加数据; 3、ERROR_WHEN_DATA_EXISTS(当存在数据时,报告错误):当目标表存在相同数据时,报告错误,不会添加数据。 4、CUSTOM_PROCESSING(自定义处理):用户可以自定义写SQL的方式进行处理。 |
exactly-once 语义支持 | String | 否 | 否 | 启用 exactly-once 语义,将使用 Xa 事务。则需要设置xa_data_source_class_name。 |
事务超时时间 | Int | 否 | -1 | 事务开启后的超时时间,默认为 -1(永不超时)单位为:秒。请注意,设置超时可能会影响 exactly-once 语义。 |
事务提交失败重试次数 | Int | 否 | 3 | 事务提交失败的重试次数。 |
自动事务提交 | Boolean | 否 | 是 | 默认情况下启用自动事务提交。 |
连接超时时间 | Int | 否 | 30 | 等待用于验证连接完成的数据库操作的时间,单位为:秒。 |
最大重试次数 | Int | 否 | 3 | 最大重试次数 |
批处理缓存记录数 | Int | 否 | 1000 | 批处理缓存记录数 |
批处理间隔时间 | Int | 否 | 1000 | 对于批量写入,当缓冲区数量达到数量 batch_size 或者时间达到时 batch_interval_ms,数据将被刷新到数据库中,单位为:毫秒。 |
可选参数 | 否 | - | 其他参数,用户可以根据需求进行配置。 |