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

连接 BladePipe 到 ClickHouse

Community Maintained

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 (Binary) 中的说明下载和安装 BladePipe Worker。

备注

另外,您可以下载并部署 BladePipe Enterprise

将 ClickHouse 添加为目标

备注
  1. BladePipe 支持 ClickHouse 版本 20.12.3.3 或更高版本。
  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. 选择 "Incremental" 作为 DataJob 类型,同时选择 "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 中的数据相同。
    验证数据