将 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 中的数据一致。

