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

将 Airbyte 连接到 ClickHouse

Community Maintained
备注

请注意,ClickHouse 的 Airbyte 源和目标目前处于 Alpha 状态,不适合移动大型数据集 (> 1000 万行)

Airbyte 是一个开源数据集成平台。它允许创建 ELT 数据管道,并提供超过 140 个开箱即用的连接器。本分步教程展示了如何将 Airbyte 作为目标连接到 ClickHouse 并加载示例数据集。

1. 下载并运行 Airbyte

  1. Airbyte 运行在 Docker 上,并使用 docker-compose。请确保下载并安装最新版本的 Docker。

  2. 通过克隆官方 Github 仓库并在您最喜欢的终端中运行 docker-compose up 部署 Airbyte:

  1. 一旦您在终端中看到 Airbyte 横幅,您可以连接到 localhost:8000

    备注

    或者,您可以注册并使用 Airbyte Cloud

2. 将 ClickHouse 添加为目标

在本节中,我们将展示如何将 ClickHouse 实例添加为目标。

  1. 启动您的 ClickHouse 服务器(Airbyte 与 ClickHouse 版本 21.8.10.19 或更高版本兼容),或登录到您的 ClickHouse 云帐户:
  1. 在 Airbyte 中,选择“目标”页面并添加一个新目标:

  2. 在“目标类型”下拉列表中选择 ClickHouse,并通过提供您的 ClickHouse 主机名和端口、数据库名称、用户名和密码来填写“设置目标”表单,并选择是否为 SSL 连接(相当于 clickhouse-client 中的 --secure 标志):

  3. 恭喜您!您现在已成功将 ClickHouse 添加为 Airbyte 的目标。

备注

为了使用 ClickHouse 作为目标,您将使用的用户需要具有创建数据库、表和插入行的权限。我们建议为 Airbyte 创建一个专用用户(例如 my_airbyte_user),并赋予以下权限:

3. 将数据集添加为源

我们将使用的示例数据集是 纽约市出租车数据(在 Github 上)。对于本教程,我们将使用与 2022 年 1 月相对应的该数据集的一个子集。

  1. 在 Airbyte 中,选择“源”页面并添加一个新源,类型为文件。

  2. 通过命名源并提供纽约市出租车 2022 年 1 月文件的 URL(见下文)来填写“设置源”表单。确保选择 parquet 作为文件格式,HTTPS Public Web 作为存储提供商,nyc_taxi_2022 作为数据集名称。

  1. 恭喜您!您现在已在 Airbyte 中添加了源文件。

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

  1. 在 Airbyte 中,选择“连接”页面并添加一个新连接。
  1. 选择“使用现有源”,并选择纽约市出租车数据,然后选择“使用现有目标”,并选择您的 ClickHouse 实例。

  2. 通过选择复制频率(我们将在本教程中使用 manual)并选择 nyc_taxi_2022 作为您希望同步的流,填写“设置连接”表单。确保选择 Normalized Tabular Data 作为规范化选项。

  1. 连接创建后,单击“立即同步”以触发数据加载(由于我们选择了 Manual 作为复制频率)。
  1. 您的数据将开始加载,您可以展开视图以查看 Airbyte 日志和进度。一旦操作完成,您将在日志中看到“成功完成”的消息:
  1. 使用您喜欢的 SQL 客户端连接到您的 ClickHouse 实例并检查结果表:

响应应如下所示:

响应为:

  1. 请注意,Airbyte 自动推断了数据类型,并向目标表添加了 4 列。这些列由 Airbyte 用于管理复制逻辑和记录操作。更多详细信息,请参阅 Airbyte 官方文档

现在数据集已加载到您的 ClickHouse 实例中,您可以创建一个新表并使用更合适的 ClickHouse 数据类型(更多详情)。

  1. 恭喜您 - 您已成功使用 Airbyte 将纽约出租车数据加载到 ClickHouse 中!