# ClickHouse Sink组件使用说明
# 组件说明
ClickHouse Sink组件。用于将数据写入 ClickHouse 数据库。
# 配置项说明
配置名称 | 数据类型 | 是否必填 | 默认值 | 描述 |
---|---|---|---|---|
节点名称 | String | 是 | ClickHouse | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。确保唯一性。 |
节点编码 | String | 是 | 自动生成 | 当前创建的节点编码,以此标识此组件,由用户自定义且不可为空。命名可包含字母、数字、下划线。确保唯一性。 |
选择数据源 | String | 是 | - | 从下拉选项中选择列出的当前项目已经关联的数据源。 |
选择库 | String | 否 | - | 从下拉列表中选择数据库。 |
选择表 | String | 是 | - | 从下拉列表中选择数据表。 |
拆分模式 | Boolean | 否 | 否 | boolean 类型,启用(true),默认禁用(false)。此模式仅支持引擎为:“Distributed”的 ClickHouse 表并且 internal_replication 选项为 true。它将会在 seatunnel 中拆分引擎为“Distributed”的表数据,并直接在每个分片上执行写操作。分片权重定义为 ClickHouse 将被计算在内。 |
分片键 | String | 否 | - | 此选项仅在“拆分模式”为 true 时有效。启用拆分模式时,向哪个节点发送数据是个问题,默认是随机选择,但可以使用“分片键”参数指定分片算法的字段。 |
允许轻量级删除 | Boolean | 否 | 否 | 默认false。允许基于 MergeTree 表引擎的实验性轻量级删除。轻量级删除原理参见:https://blog.csdn.net/weixin_39992480/article/details/128462618 |
启用 upsert 语法支持 | Boolean | 否 | 否 | UPSERT 是 INSERT 与 UPDATE 的结合体,表示行存在时执行 UPDATE,不存在时执行 INSERT。执行 UPSERT 时必须要指定完全的 PRIMARY KEY 的相关列信息。 |
主键 | String | 否 | - | 标记 ClickHouse 表的主键列,并根据主键对 ClickHouse 表执行INSERT/UPDATE/DELETE |
数据添加模式 | String | 否 | 追加数据 | 支持四种模式: 1、追加数据:数据统一追加到目标表中; 2、同步前删除数据:先清空目标表数据,然后再给目标表添加数据; 3、当存在数据时,报告错误:当目标表存在相同数据时,报告错误,不会添加数据。 4、自定义处理:用户可以自定义写SQL的方式进行处理。 |
提交记录数 | Int | 否 | 20000 | 每次通过 ClickHouse Jdbc 写入的行数 |
可选参数 | Map | 否 | - | 可以根据需求进行配置。可选参数名称可以参考 Seatunnel 官方手册。 json 格式如: { "clickhouse.config": "{ "max_rows_to_read" :100, "read_overflow_mode": "throw" }" } |