跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

Basin Catalog

最后更新 查看 MarkdownAgent 设置

Basin Catalog 接收器将流水线处理后的数据作为 Apache Iceberg ↗ 表写入 Basin Catalog。Iceberg 表为分析工作负载提供 ACID 事务、架构演进和时间旅行功能。

要创建 Basin Catalog 接收器,请运行 basin pipelines sinks create 命令,并指定接收器类型、目标存储桶、命名空间和表名:

npx wrangler basin pipelines sinks create my-sink --type basin-catalog --bucket my-bucket --namespace my_namespace --table my_table --catalog-token YOUR_CATALOG_TOKEN

新接收器请使用 basin-catalog。旧版 r2-data-catalog 值仍然有效,现有接收器配置无需更改。

如果指定的命名空间和表不存在,sink 将自动创建它们。无法为现有 Iceberg 表创建 sink。

格式

Basin Catalog 接收器仅支持 Parquet 格式。Iceberg 表不支持 JSON 格式。

压缩选项

配置 Parquet 压缩以获得最佳存储和查询性能:

--compression zstd

可用压缩选项:

  • zstd(默认)- 最佳压缩比
  • snappy - 最快的压缩
  • gzip - 良好的压缩,广泛支持
  • lz4 - 快速压缩,压缩比合理
  • uncompressed - 不压缩

行组大小

行组 ↗ 是 Parquet 文件中存储在一起的一组行,影响内存使用和查询性能。以 MB 为单位配置目标行组大小:

--target-row-group-size 256

批处理和滚动策略

控制何时将数据写入 Iceberg 表。根据需求配置:

  • 较低值:更频繁写入,文件更小,延迟更低
  • 较高值:写入频率更低,文件更大,查询性能更好

滚动间隔

设置文件写入频率(默认:300 秒,最小值:60 秒):

--roll-interval 60  # Write files every 60 seconds

Basin Catalog 接收器的最短间隔为 60 秒,以避免压缩整理问题。Iceberg 表需要定期将小文件合并为大文件,才能获得最佳查询性能。写入过于频繁会与压缩整理过程产生合并冲突。

滚动大小

设置创建新文件前的最大文件大小(MB):

--roll-size 100  # Create new file after 100MB

身份验证

Basin Catalog 接收器需要具有 R2 Admin Read & Write 权限的 API 令牌。此权限使接收器能够访问 Basin Catalog 和 R2 存储。

--catalog-token YOUR_CATALOG_TOKEN

这篇文档对您有帮助吗?