跳到主要内容
跳到主要内容

将 BladePipe 连接到 ClickHouse

Partner Integration

BladePipe 是一款具备亚秒级延迟的端到端实时数据集成工具,可在各个平台之间实现无缝的数据流转。

ClickHouse 是 BladePipe 的内置连接器之一,可帮助用户将来自各种数据源的数据自动集成到 ClickHouse 中。本文将逐步演示如何将数据实时加载到 ClickHouse 中。

支持的数据源

目前 BladePipe 支持从以下数据源将数据集成到 ClickHouse:

  • MySQL/MariaDB/AuroraMySQL
  • Oracle
  • PostgreSQL/AuroraPostgreSQL
  • MongoDB
  • Kafka
  • PolarDB-MySQL
  • OceanBase
  • TiDB

后续将支持更多数据源。

下载并运行 BladePipe

  1. 登录到 BladePipe Cloud

  2. 按照 安装 Worker (Docker)安装 Worker (二进制) 中的说明来下载并安装 BladePipe Worker。

注意

或者,您也可以下载并部署 BladePipe Enterprise

将 ClickHouse 添加为目标

注意
  1. BladePipe 支持 20.12.3.3 及以上版本的 ClickHouse。
  2. 要将 ClickHouse 作为目标,请确保该用户具有 SELECT、INSERT 和常规 DDL 权限。
  1. 在 BladePipe 中,点击 “DataSource” > “Add DataSource”。

  2. 选择 ClickHouse,填写相关配置(包括 ClickHouse 主机和端口、用户名和密码),然后点击 “Test Connection”。

    将 ClickHouse 添加为目标
  3. 点击底部的 “Add DataSource”,即可添加一个 ClickHouse 实例。

将 MySQL 添加为数据源

在本教程中,我们使用一个 MySQL 实例作为数据源,并演示如何将 MySQL 数据加载到 ClickHouse。

注意

要将 MySQL 用作数据源,请确保该用户具有所需权限

  1. 在 BladePipe 中,点击 "DataSource" > "Add DataSource"。

  2. 选择 MySQL,填写相关设置(包括 MySQL 的主机和端口、用户名和密码),然后点击 "Test Connection"。

    将 MySQL 添加为数据源
  3. 点击底部的 "Add DataSource",即可添加一个 MySQL 实例。

创建流水线

  1. 在 BladePipe 中,点击 “DataJob” > “Create DataJob”。

  2. 选择已添加的 MySQL 和 ClickHouse 实例并点击 “Test Connection”,以确保 BladePipe 已连接到这些实例。然后选择要迁移的数据库。

    选择源和目标
  3. 将 DataJob Type 选择为 “Incremental”,并勾选 “Full Data” 选项。

    选择同步类型
  4. 选择要复制的表。

    选择表
  5. 选择要复制的列。

    选择列
  6. 确认创建 DataJob 后,DataJob 会自动运行。

    DataJob 正在运行

验证数据

  1. 停止 MySQL 实例的数据写入,等待 ClickHouse 合并数据。
    注意

    由于 ClickHouse 自动合并的时机不可预测,您可以通过运行 OPTIMIZE TABLE xxx FINAL; 命令手动触发合并。请注意,手动合并操作不一定每次都能成功。

或者,您可以运行 CREATE VIEW xxx_v AS SELECT * FROM xxx FINAL; 命令创建视图,然后在该视图上执行查询以确保数据已完全合并。 :::

  1. 创建一个验证 DataJob。验证 DataJob 完成后,查看结果以确认 ClickHouse 中的数据与 MySQL 中的数据一致。
    验证数据