Apache Iceberg C++ 0.3.0 版本的发布

作者:云器技术专家吴刚

导读

Apache Iceberg 社区很高兴地宣布 Apache Iceberg C++ 0.3.0 版本的发布,此版本包含了来自 23 位不同贡献者的超过 140 个合并的拉取请求。值得一提的是,云器科技作为该项目的主要推动者,本次依然发挥了核心引擎的作用,贡献了其中 43% 的代码。同时,在这次 release 中,更是出现了多名来自 Snowflake、Databricks、Meta 和 Alibaba 的贡献者。这标志着 Iceberg C++ 项目正受到越来越多全球顶尖数据企业的关注与投入,社区生态愈发繁荣。

关于 Apache Iceberg C++

Apache Iceberg C++ 是一个实现了 Apache Iceberg 规范的 C++ 库。其核心目标是为 C++ 应用程序和系统提供一套完整、高效的接口,以便直接读取、写入和管理 Iceberg 表,而无需依赖 Java 虚拟机(JVM)或其他跨语言调用(如 JNI)。该项目旨在为 C++ 数据生态系统中的各类工具,包括查询引擎、数据处理框架以及客户端应用,提供与 Iceberg 进行原生交互的能力。

本次发布亮点

以下发布说明仅展示了此版本的部分亮点,详细信息请参阅完整的变更日志。

https://github.com/apache/iceberg-cpp/releases/tag/v0.3.0

扫描规划与数据访问 (Scan Planning and Data Access)

  • 增量扫描 API:支持增量追加扫描 (incremental append scans) 和增量变更日志扫描 (incremental changelog scans),用于规划快照间的表数据变更。
  • 读时合并 (Merge-on-read) 数据访问:支持 MOR 文件扫描任务读取器、删除过滤,以及针对 v2 位置和等值删除文件的 DeleteLoader。
  • 扫描优化:支持表扫描规划中的列裁剪 (Column selection) 和 ManifestGroup 文件过滤。
  • 删除文件优化:引入基于 Roaring bitmap 的位置位图、位置删除索引,以及针对位置删除的范围合并 (range coalescing)。

表操作与维护 (Table Operations and Maintenance)

  • 引入了 'MergingSnapshotUpdate',为表的覆盖 (overwrite)、删除 (delete)、更新 (update) 及各种日常维护操作奠定了坚实的基础。
  • 支持 'SnapshotManager' 以及带有重试机制的事务提交。
  • 快照过期清理策略:支持可达文件清理 (reachable file cleanup) 和增量文件清理。
  • 支持分区统计信息更新以及模式更新映射 (schema update mapping)。

Catalog 与生态集成 (Catalogs and Integrations)

  • REST Catalog 增强:加入了初步的 OAuth2 支持及令牌自动刷新、基础认证 (Basic Authentication)、快照加载模式、命名空间分隔符,以及服务端扫描规划端点。
  • S3 存储集成:基于 Arrow 文件系统构建了原生的 S3 FileIO 集成。
  • FileIO 接口增强:新增了 'InputFile' 和 'OutputFile' 接口,并增加了批量删除 (bulk delete) 支持。
  • SQL Catalog 支持:新增了对 SQLite、PostgreSQL 和 MySQL 作为底层存储的支持。

指标与可观测性 (Metrics and Observability)

  • 引入了指标报告器 (Metrics reporter) 支持,包含指标报告的 JSON 序列化和加载机制。
  • 增加了对 Avro 写入器指标和 Parquet 写入器指标的收集支持。

元数据与文件格式支持 (Metadata and File Format Support)

  • Puffin 格式支持:实现了基础数据结构、格式常量、JSON 序列化,以及完整的文件读写器支持。
  • Iceberg v3 支持:增加了对 'unknown' 类型和纳秒级时间戳 (nanosecond timestamp) 类型的支持。
  • 表达式序列化:支持算子与表达式的 JSON 序列化,以及反序列化后的类型化字面量绑定。

0.4.0 路线图

社区正在积极开发下一个版本 0.4.0,重点将放在完善 Iceberg v3 规范的支持以及进一步扩展表维护 API 上。

请参阅:https://github.com/apache/iceberg-cpp/issues/637

目前,云器Lakehouse 的内测功能 Managed Iceberg Table 正是基于开源的 iceberg-cpp 构建,这不仅充分验证了该原生 C++ 库在生产环境下的高性能与强稳定性,也彰显了云器将前沿开源技术与企业级产品深度融合的决心。

我们欢迎来自所有感兴趣者的问题和贡献。问题可以在 GitHub 上提交,问题也可以发送到 GitHub 或 Iceberg 开发者邮件列表。

GitHub:https://github.com/apache/iceberg-cpp/issues

Iceberg 开发者邮件列表:https://iceberg.apache.org/community/


云器科技官网 - 改变数据的使用方式
更多内容,欢迎关注「云器科技」官网!
云器科技-多云及一体化数据平台提供

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值