Apache Amoro 0.8 介绍与选型指南
Apache Amoro 0.8.1-incubating 湖仓管理服务的 AMS 架构、自优化机制、官方快速上手与同类方案选型对比。
Apache Amoro 0.8 介绍与选型指南
目标:讲清 Apache Amoro 是什么、解决什么问题、由哪些组件构成、如何按官方 Quick Start 用内置 SQL 终端体验自优化闭环,以及在 2026 年 10 月当前版本(0.8.1-incubating)下的同类湖仓管理方案选型对比。本文为 A1 认知篇:全部内容基于官网、官方下载页、官方文档与 GitHub Release 联网查证编写,关键论断随文标注来源与查询日期(统一为 2026-10-18),不含本地安装实测。
一、信息基准
| 项目 | 内容 |
|---|---|
| 查询日期 | 2026-10-18 |
| 版本依据 | 官方下载页 https://amoro.apache.org/download/ 明示「The latest release: 0.8.1,2025 Sep 11」;GitHub apache/amoro 仓库 releases/latest 返回 v0.8.1-incubating(2025-09-11);发行制品位于 ASF 孵化器目录 https://downloads.apache.org/incubator/amoro/ |
| 版本说明 | 0.8.1 之后官方下载页与文档站尚无更新的正式版(文档站版本列表止于 0.8.1-incubating),故本次定版 0.8.1 |
| 许可证 | Apache License 2.0(GitHub license 字段:Apache-2.0) |
| 项目状态 | 孵化器项目(制品目录与版本号均带 incubating 标记) |
官方来源清单:
- 项目主页:https://amoro.apache.org/
- 官方下载页:https://amoro.apache.org/download/
- Quick Start:https://amoro.apache.org/quick-start/
- 0.8.1 文档:https://amoro.apache.org/docs/0.8.1/
- GitHub 仓库:https://github.com/apache/amoro (Release:https://github.com/apache/amoro/releases/tag/v0.8.1-incubating )
- ASF 孵化器发行目录:https://downloads.apache.org/incubator/amoro/
二、软件概述
Apache Amoro 是一个湖仓管理(Lakehouse Management)服务:在大数据湖之上提供表格式管理、自动表维护(Self-Optimizing)与统一管理界面。其核心服务 AMS(Amoro Management Service)对下管理内/外部 Catalog 与多种表格式(Iceberg、Mixed-Iceberg、Mixed-Hive、Paimon),对上向 Spark/Flink/Trino 等计算引擎提供统一目录与 SQL 接入,并在仪表盘中呈现表健康度、优化任务与指标(来源:官方 Quick Start 与 0.8.1 文档站,查询日期 2026-10-18)。
它解决的典型痛点是「写多读多的湖表碎片化」:流式/高频写入会持续产生小文件与删除文件,查询性能随时间衰减。Amoro 的 Self-Optimizing 按 表运行时(Table Runtime)自动编排 minor/major 等合并任务,由 Optimizer 资源组执行,无需人工定时跑 Spark 例程;同时提供文件过期、快照清理等表维护能力(来源:0.8.1 Release Notes 中的 table metrics/health score/target file size after self-optimizing 等条目与官方 Self-Optimizing 文档)。
本次介绍的版本:Apache Amoro 0.8.1-incubating(2025-09-11 发布)。
三、核心架构
3.1 组件构成
| 组件/概念 | 职责 | 来源印证 |
|---|---|---|
| AMS(Amoro Management Service) | 管理服务主体:目录管理、表运行时、优化编排、仪表盘(默认 1630 端口,默认账号 admin/admin) | Quick Start:登录 http://localhost:1630 |
| Catalog(内/外部) | 内部 Catalog 直接管表(可选 Iceberg/Mixed-Iceberg/Mixed-Hive 等表格式);外部 Catalog(Hive、Hadoop 等)由 Amoro 同步并纳管 | Quick Start「Create Catalog」步骤:选 Type=Internal Catalog,Table Format=Iceberg 或 Mixed-Iceberg |
| Self-Optimizing | 自动表优化引擎:按表健康度生成合并/重写任务 | Quick Start「Check self-optimizing」;0.8.1 Release Notes「Fix the error in the calculation of the health score of table」 |
| Optimizer 资源组 | 执行优化任务的算力单元,支持 local 等组类型,可设并发数 | Quick Start「Create optimizer group / Start optimizers(选 local 资源组、并发 1)」 |
| SQL Terminal | 内置 Spark SQL 终端,建表/写数/查询一站式验证 | Quick Start「Terminal supports executing Spark SQL statements」 |
| 表指标与报告 | 表级指标采集与健康分展示 | 0.8.1 Release Notes「Extract abstract class for table metrics」 |
3.2 工作方式
- 引擎经 AMS 目录写入湖表(高频小批量),产生小文件/删除文件。
- AMS 依据 表运行时 与健康分评估各表优化需求,向 Optimizer 资源组下发优化任务;0.8.1 对任务调度(
optimizer pollTask性能)与超时重试均有专项改进(Release Notes)。 - 优化完成后回写新文件布局,元数据原子提交,查询端无感切换;用户在仪表盘「Optimizing」页按表查看任务历史与耗时。
四、功能特性
- 多表格式统一管理:Iceberg、Mixed-Iceberg、Mixed-Hive、Paimon(来源:官方文档 Table Format/Formats Overview 与 Quick Start 对 Mixed-Hive/Paimon 的指引)。
- Self-Optimizing:按资源组自动执行小文件合并与聚簇优化,健康分驱动、可观测(Optimizing 页全表视图 + 表级 Optimizing 标签页)。
- 统一 SQL 入口:内置 Spark SQL Terminal;对外支持 Spark/Flink/Trino 等引擎经 Catalog 接入(官方引擎接入文档)。
- 运维仪表盘:目录/表/优化任务/资源组管理,登录与租户体系;0.8.1 改进了登录失败提示与表标识展示(Release Notes)。
- 可扩展目录:支持 REST Catalog 配置(0.8.1 新增 Rest Catalog configuration 文档条目,Release Notes)。
- 多样化部署:发行包提供 hadoop2/hadoop3 两种二进制,支持以 Helm 部署 AMS(Release Notes 含 Helm chart 修复条目)。
五、快速上手(引自官方 Quick Start,非本地实测)
官方 Quick Start(来源:https://amoro.apache.org/quick-start/ ,查询日期 2026-10-18)提供以官方编排文件一键拉起 AMS 体验环境的流程(需具备本机虚拟化运行环境,细节不在本文展开):
- 登录仪表盘
http://localhost:1630(默认 admin/admin)。 - 在「Optimizing → Optimizer Groups」创建优化资源组;在「Catalogs」创建
demo_catalog(Type=Internal Catalog,Table Format 选 Iceberg 或 Mixed-Iceberg)。 - 在「Optimizing → Optimizers」点击 Create Optimizer,选
local资源组、并发 1 启动优化器(等待最多 30 秒注册到 AMS)。 - 在「Terminal」中执行官方示例 SQL 建表并写入:
CREATE DATABASE IF NOT EXISTS db;
CREATE TABLE IF NOT EXISTS db.user (
id INT,
name string,
ts TIMESTAMP
) USING iceberg
PARTITIONED BY (days(ts));
INSERT OVERWRITE db.user VALUES
(1, "eric", timestamp("2022-07-01 12:32:00")),
(2, "frank", timestamp("2022-07-02 09:11:00")),
(3, "lee", timestamp("2022-07-02 10:11:00"));
SELECT * FROM db.user;
- 持续小批量写入/删除若干行后,进入「Tables」选
db.user的 Optimizing 标签页即可看到自动触发的自优化任务;也可在「Optimizing」页查看全部表的优化状态(来源同上「Check self-optimizing」)。
六、适用场景与限制
适用场景:Iceberg/Paimon/Mixed 格式湖仓的持续高频写入场景需要自动小文件治理;多引擎(Spark/Flink/Trino)共享统一目录与表服务;希望有现成管理界面与健康度观测的数据平台团队。
限制:项目仍处于 Apache 孵化器阶段(版本带 incubating 标记),API 与发布节奏存在变动可能;优化算力依赖自建 Optimizer 资源组,需自行规划并发与扩缩容;相比商业湖仓平台,高级能力(如细粒度权限治理)依赖底层目录与引擎体系配合。
七、同类选型对比
对比数据联网实查于 2026-10-18(GitHub API 与官方渠道):
| 维度 | Apache Amoro 0.8.1 | Apache Gravitino 1.3.1 | Lakekeeper 0.14.1 | Apache Iceberg(原生维护) |
|---|---|---|---|---|
| 许可证 | Apache-2.0 | Apache-2.0 | Apache-2.0 | Apache-2.0 |
| 社区活跃度(GitHub stars / 最近推送) | 1 194 ★ / 2026-10-17 | 3 250 ★ / 2026-10-17 | 1 482 ★ / 2026-10-16 | 9 346 ★ / 2026-10-17 |
| 最近发版 | 0.8.1-incubating(2025-09-11) | 1.3.1(2026-09-30) | v0.14.1(2026-10-16) | 1.12.0(2026-09-30) |
| 版本节奏 | 季度级(孵化期) | 月度级 | 月度级 | 季度级 |
| 定位差异 | 湖仓管理服务:自优化+多格式+仪表盘 | 联邦元数据中心:多目录统一治理 | Iceberg REST Catalog:纯目录服务 | 表格式本体:维护需自跑 Spark/Flink 例程 |
| 兼容矩阵 | Iceberg/Mixed-Iceberg/Mixed-Hive/Paimon;Spark/Flink/Trino | Hive/Iceberg/JDBC/消息等目录联邦 | Iceberg REST 协议;S3/OSS/HDFS 存储端点 | 全引擎生态 |
选型建议:核心诉求是「自动小文件治理 + 表健康度运维」选 Amoro;要统一管理多类型元数据(跨引擎目录联邦)选 Gravitino;只要一个高性能 Iceberg REST 目录(与存储栈解耦)选 Lakekeeper;表量小且愿以作业自维护选 Iceberg 原生维护例程。
八、参考链接
- 项目主页:https://amoro.apache.org/
- 官方下载页:https://amoro.apache.org/download/
- Quick Start:https://amoro.apache.org/quick-start/
- 0.8.1 文档:https://amoro.apache.org/docs/0.8.1/
- GitHub Release:https://github.com/apache/amoro/releases/tag/v0.8.1-incubating
- ASF 孵化器发行目录:https://downloads.apache.org/incubator/amoro/
- Apache Gravitino:https://gravitino.apache.org/
- Lakekeeper:https://lakekeeper.io/