Apache Amoro 0.8 介绍与选型指南

Apache Amoro 0.8.1-incubating 湖仓管理服务的 AMS 架构、自优化机制、官方快速上手与同类方案选型对比。

Apache AmoroApache数据湖大数据Java流处理2026/10/18

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 标记)

官方来源清单:

二、软件概述

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 工作方式

  1. 引擎经 AMS 目录写入湖表(高频小批量),产生小文件/删除文件。
  2. AMS 依据 表运行时 与健康分评估各表优化需求,向 Optimizer 资源组下发优化任务;0.8.1 对任务调度(optimizer pollTask 性能)与超时重试均有专项改进(Release Notes)。
  3. 优化完成后回写新文件布局,元数据原子提交,查询端无感切换;用户在仪表盘「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 体验环境的流程(需具备本机虚拟化运行环境,细节不在本文展开):

  1. 登录仪表盘 http://localhost:1630(默认 admin/admin)。
  2. 在「Optimizing → Optimizer Groups」创建优化资源组;在「Catalogs」创建 demo_catalog(Type=Internal Catalog,Table Format 选 Iceberg 或 Mixed-Iceberg)。
  3. 在「Optimizing → Optimizers」点击 Create Optimizer,选 local 资源组、并发 1 启动优化器(等待最多 30 秒注册到 AMS)。
  4. 在「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;
  1. 持续小批量写入/删除若干行后,进入「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.1Apache Gravitino 1.3.1Lakekeeper 0.14.1Apache Iceberg(原生维护)
许可证Apache-2.0Apache-2.0Apache-2.0Apache-2.0
社区活跃度(GitHub stars / 最近推送)1 194 ★ / 2026-10-173 250 ★ / 2026-10-171 482 ★ / 2026-10-169 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/TrinoHive/Iceberg/JDBC/消息等目录联邦Iceberg REST 协议;S3/OSS/HDFS 存储端点全引擎生态

选型建议:核心诉求是「自动小文件治理 + 表健康度运维」选 Amoro;要统一管理多类型元数据(跨引擎目录联邦)选 Gravitino;只要一个高性能 Iceberg REST 目录(与存储栈解耦)选 Lakekeeper;表量小且愿以作业自维护选 Iceberg 原生维护例程。

八、参考链接