跳转到主要内容

使用 Databend 作为 Airbyte 的数据目的地 (Alpha)

Airbyte 是什么?

  • Airbyte 是一个开源数据集成平台,可将数据从应用程序、API 和数据库同步到数据仓库、数据湖和数据库。
  • 您可以将数据从任何 Airbyte 源加载到 Databend。

目前我们实现了一个实验性的 Airbyte 目的地,您可将数据从 airbyte 源发送到 Databend。

注意

目前我们只实现了 append 模式,即只会追加数据到表中,不会覆盖、更新或删除任何数据。 另外,您的 Databend 目的地必须是 S3 兼容的,因为我们使用 presign 将数据从 Databend 的 Stage 复制到表。

要检查您的后端是否支持集成,运行以下命令:

CREATE STAGE IF NOT EXISTS airbyte_stage;
PRESIGN UPLOAD @airbyte_stage/test.csv;

如果出现错误 Code: 501, displayText = Presign is not supported,则不支持与 Airbyte 集成。 请参阅 此链接 了解如何使用 S3 作为 Databend 的存储后端。

创建 Databend 用户

使用 MySQL 客户端连接到 Databend 服务器:

mysql -h127.0.0.1 -uroot -P3307 

创建用户:

CREATE USER user1 IDENTIFIED BY 'abc123';

创建数据库:

CREATE DATABASE airbyte;

授予用户权限:

GRANT ALL PRIVILEGES ON airbyte.* TO user1;

参考如何创建用户

配置 Airbyte

您需要将我们自定义的连接器添加到您的 Airbyte 实例中。 请在 Settings > Destinations > Custom Destinations > Add a Custom Destination 添加一个数据目的地。 Databend 的自定义镜像文件是 datafuselabs/destination-databend:alpha

设置 Databend 为数据目的地

注意:

您需要有一个正在运行并可从您的 Airbyte 实例中访问的 Databend 实例。 对于本地 Airbyte,您无法将 docker compose 连接到本地主机网络。 您可以通过 ngrok 创建隧道(切勿用在生产环境中)。

测试集成

您可以使用 Faker 数据源测试与 Airbyte 的集成。同步完成后,您可以运行以下命令来查看预期上传的数据:

select * from default._airbyte_raw_users limit 5;