跳转到主内容
跳转到主内容

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