跳转到主要内容
请注意,Airbyte 面向 ClickHouse 的 source 和目标端目前处于 Alpha 状态,不适合移动大型数据集 (> 1000 万行) 。
Airbyte 是一个开源数据集成平台,支持创建 ELT 数据管道,并开箱即用地提供 140 多个 connector。本分步教程将介绍如何将 Airbyte 连接到 ClickHouse 作为目标端,并加载一个样本数据集。
1

下载并运行 Airbyte

  1. Airbyte 运行在 Docker 上,并使用 docker-compose。请确保下载并安装最新版 Docker。
  2. 通过克隆官方 GitHub 仓库,并在你常用的终端中运行 docker-compose up 来部署 Airbyte:
  3. 当你在终端中看到 Airbyte 标识后,即可连接到 localhost:8000
或者,你也可以注册并使用 Airbyte Cloud
2

将 ClickHouse 添加为目标端

在本节中,我们将演示如何将 ClickHouse 实例添加为目标端。
  1. 启动 ClickHouse server (Airbyte 与 21.8.10.19 或更高版本的 ClickHouse 兼容) ,或登录你的 ClickHouse Cloud 账户:
  2. 在 Airbyte 中,选择 “Destinations” 页面并添加新的目标端:
  3. 在 “Destination type” 下拉列表中选择 ClickHouse,然后填写 “Set up the destination” 表单,提供 ClickHouse 主机名和端口、数据库名称、用户名和密码,并选择是否使用 SSL 连接 (相当于 clickhouse-client 中的 --secure 标志) :
  4. 恭喜!你现在已经在 Airbyte 中将 ClickHouse 添加为目标端。
要将 ClickHouse 用作目标端,你使用的用户需要具备创建数据库、表以及插入行的权限。我们建议为 Airbyte 创建一个专用用户 (例如 my_airbyte_user) ,并授予以下权限:
3

将数据集添加为数据源

我们将使用的示例数据集是 纽约市出租车数据 (位于 GitHub) 。在本教程中,我们将使用该数据集的一个子集,即 2022 年 1 月的数据。
  1. 在 Airbyte 中,选择 “Sources” 页面,并添加一个新的文件类型数据源。
  2. 填写 “Set up the source” 表单,为数据源命名,并提供 NYC Taxi 2022 年 1 月文件的 URL (见下文) 。请务必选择 parquet 作为文件格式,HTTPS Public Web 作为存储提供商,以及 nyc_taxi_2022 作为数据集名称。
  3. 恭喜!你现在已经在 Airbyte 中添加了一个文件数据源。
4

创建连接并将数据集加载到 ClickHouse

  1. 在 Airbyte 中,选择 “连接” 页面并新增一个连接
  1. 选择 “使用现有 source”,并选择 New York City Taxi Data;然后选择 “使用现有目标端”,并选择你的 ClickHouse 实例。
  2. 在 “设置连接” 表单中,选择复制频率 (本教程中我们将使用 manual) ,并将 nyc_taxi_2022 选为要同步的 stream。请确保归一化方式选择 归一化表格数据
  1. 现在连接已创建,点击 “立即同步” 以开始加载数据 (因为我们将复制频率设为 Manual)
  1. 数据将开始加载,你可以展开视图查看 Airbyte 日志和进度。操作完成后,你会在日志中看到一条 Completed successfully 消息:
  1. 使用您常用的 SQL 客户端连接到您的 ClickHouse 实例,并检查生成的表:
    响应应如下所示:
    响应如下:
  2. 请注意,Airbyte 会自动推断数据类型,并向目标表添加 4 列。这些列由 Airbyte 用于管理复制逻辑和记录操作。更多详情请参阅 Airbyte 官方文档
    现在数据集已加载到您的 ClickHouse 实例中,您可以创建一个新表,并使用更合适的 ClickHouse 数据类型 (详见此处) 。
  3. 恭喜——你已成功通过 Airbyte 将纽约市出租车数据加载到 ClickHouse 中!
最后修改于 2026年6月12日