# ClickHouse Source 组件使用说明
# 基础说明
ClickHouse Source 连接器,用于从 ClickHouse 数据库读取数据。
提示
本次新版本的 Source 支持了“多表”接入,为了确保上一版本的兼容性,增加了单表、多表的选项,选择“单表”时与老版本配置方式一样。
# 配置项说明
| 配置名称 | 数据类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| 节点名称 | String | 是 | ClickHouse | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。确保唯一性。 |
| 节点编码 | String | 是 | 自动生成 | 当前创建的节点编码,以此标识此组件,由用户自定义且不可为空。命名可包含字母、数字、下划线。确保唯一性。 |
| 选择数据源 | String | 是 | - | 从下拉选项中选择列出的当前项目已经关联的 ClickHouse 数据源。 |
| 获取表方式 | String | 是 | 单表 | 两种方式: 单表:保留此选项是为了兼容 DWS 7.1.0 版本的作业; 多表:可以选择多张数据库表。 |
| 选择库 | String | 是 | - | 当“获取表方式”为“多表”时,需要选择数据库。 |
| SQL | String | 是 | - | 当“获取表方式”为“单表”时,需要编写查询 SQL 语句,用户可以根据需求编写。 |
| 可选参数 | - | 否 | - | 其他参数,配置后即会启用该配置,不会再使用环境默认参数,用户可以根据需求进行配置。比如:result_table_name、parallelism |
获取方式为“多表”时,选择库,选择表 / 视图后,点击每张表后的【配置】按钮可以分别为表配置更多的参数,具体如下:
| 配置名称 | 数据类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| 名称 | String | 否 | - | 表的配置项名称。 |
| 查询SQL | String | 否 | - | 获取对应表 / 视图的字段名称。 |
| 过滤条件 | String | 否 | - | 设置数据过滤的条件表达式。格式为“field=value”,例如:“F_ID>2” 。 |
| 表分区列表 | Int | 否 | 1024 | 选择或者填写字段作为分区字段。 |
| 最大读取行 | String | 否 | - | 设置单次读取可以获得的数据量。性能低下时可以调大该值,减少网络交互。 |
# 性能调优
合理设置并行度的建议
上限原则:
- 不超过 ClickHouse 集群的 CPU 核心数(单节点 ClickHouse 建议 parallelism ≤ CPU核心数,集群可适当增加)。
- 不超过 SeaTunnel 所在机器的可用线程数(避免本地资源耗尽)。
基础参考值:
- 小表(百万级数据):parallelism = 1~2 即可。
- 大表(千万 / 亿级数据):parallelism = 4~8(根据 ClickHouse 性能调整)。
配合参数优化:
并行度越高,建议 fetch_size 适当调大(如 parallelism=4 时,fetch_size 设为 20000~50000),减少网络交互次数。
避免并行度过高 + fetch_size 过小:会导致 ClickHouse 频繁处理小批量查询,反而降低性能。
可通过调整并行度并观察:
ClickHouse 节点的 CPU / 内存使用率(不超过 80% 为宜)。
SeaTunnel 任务的读取速度(达到瓶颈后再增加并行度无意义)。