使用 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;