将 BladePipe 连接到 ClickHouse
BladePipe 是一款实时端到端数据集成工具,具备亚秒级低延迟,可实现跨平台之间的数据无缝流动。
ClickHouse 是 BladePipe 预构建连接器之一,允许用户自动将来自各种来源的数据集成到 ClickHouse 中。本页将逐步说明如何将数据实时加载到 ClickHouse。
支持的数据源
目前 BladePipe 支持从以下数据源将数据集成到 ClickHouse:
- MySQL/MariaDB/AuroraMySQL
- Oracle
- PostgreSQL/AuroraPostgreSQL
- MongoDB
- Kafka
- PolarDB-MySQL
- OceanBase
- TiDB
后续将支持更多数据源。
下载并运行 BladePipe
-
登录 BladePipe Cloud。
-
按照 安装 Worker (Docker) 或 安装 Worker (二进制) 中的说明,下载并安装 BladePipe Worker。
或者,您也可以下载并部署 BladePipe Enterprise。
将 ClickHouse 添加为目标
-
BladePipe 支持
20.12.3.3及以上版本的 ClickHouse。 -
要将 ClickHouse 用作目标,请确保该用户具有 SELECT、INSERT 和常见 DDL 权限。
-
在 BladePipe 中,点击 "DataSource" > "Add DataSource"。
-
选择
ClickHouse,填写 ClickHouse 主机和端口、用户名和密码等配置,然后点击 "Test Connection"。
-
点击底部的 "Add DataSource",即可添加一个 ClickHouse 实例。
创建管道
-
在 BladePipe 中,点击 "DataJob" > "Create DataJob"。
-
选择已添加的 MySQL 和 ClickHouse 实例,并点击 "Test Connection" 以确保 BladePipe 已连接到这些实例。然后选择要迁移的数据库。

-
将 DataJob Type 设为 "Incremental",同时选择 "Full Data" 选项。

-
选择要复制的表。

-
选择要复制的列。

-
确认创建 DataJob 后,DataJob 会自动运行。

验证数据
- 停止 MySQL 实例的数据写入,等待 ClickHouse 合并数据。
注意
由于 ClickHouse 自动合并的时机不可预测,您可以通过运行
OPTIMIZE TABLE xxx FINAL;命令手动触发合并。请注意,手动合并操作不一定每次都能成功。
或者,您可以运行 CREATE VIEW xxx_v AS SELECT * FROM xxx FINAL; 命令创建视图,然后在该视图上执行查询以确保数据已完全合并。
:::
- 创建一个验证 DataJob。验证 DataJob 完成后,查看结果以确认 ClickHouse 中的数据与 MySQL 中的数据一致。

