
Amoro 是一个构建在 Apache Iceberg 等开放数据湖表格之上的湖仓管理系统,提供了一套可插拔的数据自优化机制和管理服务,旨在为用户带来开箱即用的湖仓使用体验。
2024 年 02 月 21 日,Amoro 0.6.1 版本正式更新发布!这个版本在 0.6.0 版本的基础上,添加了诸多优化和问题修复,推荐正在使用 0.6.0 版本的用户升级到这个版本。在这次版本更新中,来自社区的 16 位贡献者付出了 38 次提交,感谢每位社区小伙伴的贡献!
1.优化 Optimizer 内存使用
Optimizer 在执行合并任务时,当 Iceberg 表中积攒了过多 equality delete file 时,需要花费大量的内存来缓存这些 delete record。为了应对这种情况 Amoro 支持了在 Optimizer 上配置磁盘扩展来将数据溢出到文件中以保护内存。然而溢出到磁盘后 Optimizer 的执行效率却可能大幅度下降。
0.6.1 版本中针对这种场景引入了优化,如果一个合并任务包含过多的 equality delete file,会在加载 equality delete file 之前先读取 insert file 并针对其中的主键数据构造 bloom filter,并在后续加载 equality delete file 时使用 bloom filter 过滤掉不需要缓存的 delete record,以防止 Optimizer 出现内存溢出问题。
经验证,在 0.6.1 版本之前一些用户为每个 optimizer 并发要准备 4GB 甚至 8GB 内存以应对 equality delete file 堆积的情况,升级到 0.6.1 版本之后每个 optimizer 并发在无需引入磁盘扩展的情景下使用 2GB 内存即可满足所有场景。
2.其他优化和问题修复
AMS GC 日志添加时间信息。 修复了 Iceberg 表存在多个 partition spec 时可能存在展示和优化错误的问题。 修复在重启 AMS 后,表的状态可能卡在 major/minor 的问题。 修复了特殊配置下 Mixed Format 表可能重复进行 minor optimizing 的问题。 修复了 Mixed Format 表在 Optimizing 后可能丢失数据的问题。 修复了关闭 self-optimizing 后,表的状态没有变为 idle 的问题。
Amoro 0.6.1 版本完整的 Release Note 请参考:
https://github.com/NetEase/amoro/releases/tag/v0.6.1
Amoro 社区的发展离不开大量用户的积极试用和反馈,以及社区开发者的无私贡献,再次感谢大家的付出!也欢迎更多小伙伴共同参与到 Amoro 社区建设中!
0.6.1 版本贡献者(排名不分先后)

END
看到这里记得关注、点赞、转发 一键三连哦~

精彩回顾:
浙江电信基于 Amoro + Apache Iceberg 构建实时湖仓实践
有道基于 Amoro Mixed Format 构建准实时湖仓实践
思科基于 Amoro + Apache Iceberg 构建云原生湖仓实践






