连接 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 (Binary) 中的说明下载和安装 BladePipe Worker。
另外,您可以下载并部署 BladePipe Enterprise。
将 ClickHouse 添加为目标
- BladePipe 支持 ClickHouse 版本
20.12.3.3
或更高版本。 - 要使用 ClickHouse 作为目标,请确保用户具有 SELECT、INSERT 和普通 DDL 权限。
-
在 BladePipe 中,点击 "DataSource" > "Add DataSource"。
-
选择
ClickHouse
,并通过提供您的 ClickHouse 主机和端口、用户名和密码来填写设置,然后点击 "Test Connection"。 -
点击底部的 "Add DataSource",将添加一个 ClickHouse 实例。
创建管道
-
在 BladePipe 中,点击 "DataJob" > "Create DataJob"。
-
选择已添加的 MySQL 和 ClickHouse 实例,并点击 "Test Connection" 确保 BladePipe 已连接到这些实例。然后,选择要移动的数据库。
-
选择 "Incremental" 作为 DataJob 类型,同时选择 "Full Data" 选项。
-
选择要复制的表。
-
选择要复制的列。
-
确认 DataJob 创建,DataJob 将自动运行。
验证数据
- 停止在 MySQL 实例中的数据写入,并等待 ClickHouse 合并数据。
由于 ClickHouse 自动合并的时间不可预测,您可以通过运行 OPTIMIZE TABLE xxx FINAL;
命令手动触发合并。请注意,这种手动合并可能并不总是成功。
另外,您可以运行 CREATE VIEW xxx_v AS SELECT * FROM xxx FINAL;
命令以创建视图,并在视图上执行查询以确保数据已完全合并。
- 创建一个 验证 DataJob。一旦验证 DataJob 完成,检查结果以确认 ClickHouse 中的数据与 MySQL 中的数据相同。