跳转到内容
搜索文档

R2 Data Catalog 接收端

最后更新 查看 MarkdownAgent 设置

R2 Data Catalog sink 将 pipeline 处理后的数据作为 Apache Iceberg 表写入 R2 Data Catalog。Iceberg 表为分析工作负载提供 ACID 事务、schema 演进和时间旅行功能。

要创建 R2 Data Catalog sink,请运行 pipelines sinks create 命令并指定 sink 类型、目标存储桶、命名空间和表名:

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

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

格式

R2 Data Catalog sink 仅支持 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

R2 Data Catalog sink 的最小间隔为 60 秒,以防止压缩问题。Iceberg 表需要定期压缩以将小文件合并为较大文件以获得最佳查询性能。写入过于频繁会与压缩过程产生合并冲突。

滚动大小

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

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

身份验证

R2 Data Catalog sink 需要具有 R2 Admin Read & Write 权限 的 API 令牌。此权限授予 sink 访问 R2 Data Catalog 和 R2 存储的权限。

--catalog-token YOUR_CATALOG_TOKEN

这篇文档对您有帮助吗?