配置 ClickHouse 数据源
ClickHouse 是一个列式存储的数据库管理系统(DBMS),支持高度专业化、模块化设计和引擎式架构。
ClickHouse 提供了完整的数据管理功能,包括:
- 数据存储、查询、索引、复制、分片、权限控制等。
- 支持标准 SQL 语法(兼容性逐步增强)。
- 客户端工具、网络接口(HTTP/TCP)、用户管理等。
因此,它可以直接作为独立的数据库使用,无需依赖其他系统。
本文将为您介绍 ClickHouse 数据同步能力的支持情况。
支持的版本
clickhouse 24.0+
使用限制
目前仅支持以下配置方式:
- 支持 AE 预置仓空间表 向 ClickHouse 写入(离线写入)
注:
- 暂不支持读取 ClickHouse 数据源(离线读取 )
支持的字段类型
ClickHouse 完整数据类型介绍,请参考开源官方数据类型介绍。
| 字段类型 | 离线写(Writer) |
|---|---|
| 数值类型 | |
| Int8(tinyint) | 支持 |
| Int6(smallint) | 支持 |
| Int32(int) | 支持 |
| Int64(bigint) | 支持 |
| Float | 支持 |
| Decimal | 支持 |
| 布尔型 | |
| Boolean | 支持 |
| 字符串类型 | |
| String | 支持 |
| FixedString | 支持 |
| UUID | 不支持 |
| 时间类型 | |
| Date | 支持 |
| DateTime | 支持 |
| DateTime64 | 支持 |
| 复合类型 | |
| Array<boolean> | 支持 |
| Array<tinyint> | 支持 |
| Array<smallint> | 支持 |
| Array<integer> | 支持 |
| Array<bigint> | 支持 |
| Array<float> | 支持 |
| Array<double> | 支持 |
| Array<varchar> | 支持 |
| Tuple | 支持 |
| Enum | 支持 |
| Nested | 支持 |
| 特殊类型 | |
| Nullable | 支持 |
| 其他 | 不支持 |
创建 ClickHouse 数据源
在 数据开发平台 - 集成 模块,您可以选择 新增 ClickHouse 数据源
数据源配置参数信息
填写数据源所需的配置信息并完成连通性测试后,即可成功创建 ClickHouse 数据源。
| 字段名称 | 说明 |
|---|---|
| 基本信息 | |
| *数据源名称 | 数开平台空间内唯一,必须以字母、数字、下划线组合,且不能以数字和下划线开头 |
| 备注 | 选填 |
| 数据源配置 | |
| 不区分环境 / 独立环境配置 | 二选一:「不区分环境」表示 生产环境 与 开发环境 共用一套配置,「独立环境配置」表示双环境独立配置 |
| *服务地址/IP | Clickhouse 数据库所在的服务地址,多个地址请用逗号分隔 |
| *端口 | 用于访问 ClickHouse 的端口 |
| *数据库名 | 已在 ClickHouse 中创建的数据库名称 |
| *用户名 | 有权限访问数据库的用户名 |
| *密码 | 用户名对应的密码信息 |
| 高级配置 | 连接数据库所需的其他高级参数,可自定义填写 |
| 注:默认集群部署模式 | |
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
创建离线同步任务
根据上述步骤成功 创建 ClickHouse 数据源 并测试连通性成功后,您可根据实际场景,配置 ClickHouse 离线写入 的任务。
ClickHouse 作为数据去向
数据去向选择 ClickHouse,并完成以下相关参数配置:
| 字段名称 | 说明 |
|---|---|
| *源类型 | 数据去向目标类型选择 ClickHouse |
| *数据源名称 | 已在数据源管理界面注册的 ClickHouse 数据源,下拉可选。 若还未建立相应数据源,可单击 数据源管理 按钮,前往创建 ClickHouse 数据源。 |
| *数据库名 | 写入的数据库名称 |
| *数据表名 | 写入的数据表信息 |
| 分片字段 | shardingKey,当部署模式为集群,并且开启了internal_replication,才可以启用分片能力,配置分片字段,导入时根据分片字段进行并行导入 |
| *写入模式 |
|
| 高级配置 | 支持批量处理条数等参数控制 批量条数:每批提交数据量,默认 20000 条 |
字段映射说明
完成数据来源和目标端配置后,需建立字段映射关系,系统将按照映射关系将源端字段中的数据自动同步至目标字段中。字段映射关系有三种配置方式:
- 方式一:自定义选择,选中源表字段,并选择目标表中目标字段
- 方式二:同名映射,系统会自动为源表和目标表中的同名字段建立映射关系
- 方式三:同行映射,系统会自动为同行字段建立映射关系
需要注意一个目标字段只能对应一个来源字段
字段类型转换方式
在进行数据同步时,系统会使用 CAST() 函数对源表字段进行转型,尝试将其类型转换成目标字段的类型,如果转型失败,则目标字段的值将会被设置为 NULL
数据类型转换特殊说明
- √ 表示支持对应类型转换
- √, null 表示支持对应类型转换,若转换失败则被设置为 NULL
| 源类型/目标类型 | ROW | ARRAY | MAP | STRING | BOOLEAN | TINYINT | SMALLINT | INT | BIGINT | FLOAT | DOUBLE | DECIMAL | BYTES | DATE | TIMESTAMP | TIME |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ROW | √, null | |||||||||||||||
| ARRAY | √, null | |||||||||||||||
| MAP | √, null | |||||||||||||||
| STRING | √ | √, null | √, null | √, null | √, null | √, null | √, null | √, null | √, null | √, null | √, null | √, null | ||||
| BOOLEAN | √, null | √ | ||||||||||||||
| TINYINT | √, null | √ | √, null | √, null | √, null | |||||||||||
| SMALLINT | √, null | √, null | √ | √, null | √, null | |||||||||||
| INT | √, null | √, null | √, null | √ | √, null | |||||||||||
| BIGINT | √, null | √, null | √, null | √, null | √ | |||||||||||
| FLOAT | √, null | √ | √, null | √, null | ||||||||||||
| DOUBLE | √, null | √, null | √ | √, null | ||||||||||||
| DECIMAL | √, null | √, null | √, null | √ | ||||||||||||
| BYTES | √, null | √ | ||||||||||||||
| DATE | √, null | √ | √, null | |||||||||||||
| TIMESTAMP | √, null | √, null | √ | |||||||||||||
| TIME | √, null | √ |
基本信息设置
最后,您需要设置集成方案的基本信息,包括方案的名称、负责人、集成的同步速率以及备注等。
完成配置后,可以点击 「保存」 按钮完成集成方案的创建。
注:方案名称保存后不允许修改
详情页展示:
离线同步方案挂流
挂载任务流
1.进入挂载流程
- 在集成方案详情页,点击右上角「挂载到任务流」按钮
2.选择任务流
-
从下拉菜单中选择目标任务流
-
若需新建任务流:
- 点击下拉菜单下方的「新建任务流」快捷按钮
- 或前往「开发」模块创建
-
提示:如未显示目标任务流,可点击右侧↻刷新按钮
3.创建同步节点
- 在任务流中新建「离线同步方案」类型节点
- 该节点将关联当前集成方案,节点执行时即触发对应集成方案的运行
4.完成挂载
- 点击「创建节点并挂载」完成配置
- 挂载成功后,可点击「前往任务流」立即查看挂载结果
注:挂载任务流所创建的任务节点处于 尚未发布状态,建议您前往查看任务流,并将该节点发布上线。
解除任务流挂载
如果您希望解除离线同步方案的任务流挂载,
- 若该任务流还未发布上线,您可前往该方案挂载的任务流,在 开发模式 删除该「离线同步方案」任务节点即可。
- 若该任务流已经发布上线,在 开发模式 删除该「离线同步方案」任务节点后,您需要重新发布该任务流,即同步解除了该节点在 生产环境 上的挂载。

