Apache Polaris 1.8 介绍与选型指南

Apache Iceberg 开源目录 Apache Polaris 1.8(1.8.0):Iceberg REST API 多引擎互操作、RBAC 与凭据下发、JDBC/MongoDB 后端、官方二进制快速上手与 Nessie/Gravitino/Lakekeeper 选型对比。

Apache PolarisApache Polaris数据湖Apache Iceberg大数据Apache2026/10/18

Apache Polaris 1.8 介绍与选型指南

目标:讲清 Apache Polaris 1.8(1.8.0,Apache Iceberg 的开源目录/Catalog,实现 Iceberg REST API)的定位、架构、核心机制与同类开放表目录选型对比。本文为认知篇,全部论断基于官方文档与官方发行渠道联网溯源(查询日期 2026-10-18),不做本地安装实测。

一、信息基准

  • 查询日期:2026-10-18(本文所有版本号、星标数、发布日期均在该日联网核验)。
  • 版本依据:官网文档与 Releases 均以 1.8.0 为最新版;ASF DOAP 记录 1.8.0 发布于 2026-09-28,downloads.apache.org/polaris/1.8.0/ 发行目录(polaris-bin-1.8.0.tgz/.zip)目录时间戳同为 2026-09-28,多渠道一致。
  • 官方来源清单:
来源地址
项目主页(定位)https://polaris.apache.org/
Releases(版本导航)https://polaris.apache.org/releases/
1.8.0 文档:Getting Startedhttps://polaris.apache.org/releases/1.8.0/getting-started/
1.8.0 文档:Binary Distributionhttps://polaris.apache.org/releases/1.8.0/getting-started/binary-distribution/
1.8.0 文档:Access Control / Metastoreshttps://polaris.apache.org/releases/1.8.0/managing-security/ 与 /releases/1.8.0/metastores/
发行目录https://downloads.apache.org/polaris/

二、软件概述

2.1 项目定位与版本

Apache Polaris 1.8.0(本文介绍对象,当前最新版,2026-09-28 发布)是官方定位的「面向数据与 AI 资产的开放目录(The open catalog for data and AI assets)」:一个功能完整的 Apache Iceberg 开源 Catalog,实现 Iceberg REST API,为 Apache Doris、Apache Flink、Apache Spark、Dremio OSS、StarRocks、Trino 等广泛的计算引擎/平台提供跨引擎互操作(来源:项目主页)。除表目录外,官方文档还覆盖访问控制、凭据下发(vended credentials)、策略(policy)、多 metastore 后端与云对象存储对接等企业化能力。

项目治理方面:Polaris 由 Apache 孵化器毕业为 ASF 顶级项目(TLP),ASF 官方委员会名录记载 Polaris PMC 于 2026-02 成立(来源:ASF projects/committees 官方注册数据);官网版本导航显示 1.0.0 至 1.8.0 共 11 个版本,2026 年内已连续发布 1.4.x–1.8.0 多个版本,节奏活跃。

2.2 许可与社区

采用 Apache-2.0 许可,ASF 顶级项目;GitHub 星标约 2.1k(徽章服务实时读数,查询日期 2026-10-18)。社区背后有 Snowflake 捐赠起源背景(Polaris 原以 Apache Polaris(孵化)之名进入 ASF),现按 ASF 流程治理。

三、核心架构

依据官方 1.8.0 文档结构(Getting Started / Configuration / Managing Security / Metastores / Federation 各节):

3.1 服务形态与接口

  • Polaris 以独立服务进程提供 Iceberg REST Catalog API 与管理 API,官方提供预构建二进制发行包(polaris-bin)、Helm Chart 与 Python 客户端(发行目录四类工件:主程序、iceberg-catalog-migrator、helm-chart、python-client);
  • 服务端口约定(官方 Binary Distribution 文档):8181 为主 REST API,8182 为管理接口(健康检查 q/health 与指标 q/metrics);
  • 请求经认证后进入访问控制层,官方文档提供 RBAC(Access Control)、Keycloak 身份提供方、OPA 外部策略决策点(External PDP)三套治理路径。

3.2 持久化、存储与联邦

  • Metastore 后端(官方 Metastores 文档):关系型 JDBC(含 Postgres、CockroachDB 指南)与 NoSQL MongoDB 两类持久化方案;
  • 对象存储:官方指南覆盖 S3、GCS、Azure Blob 以及 Ozone、Ceph、RustFS 等自建对象存储,支持带 TLS 的存储与凭据下发(vended credentials);
  • Federation(联邦):官方文档描述 Iceberg REST Federation、Hive Metastore Federation 与 BigQuery Metastore Federation,可将既有元数据体系纳入统一目录;
  • 配套工具:Admin Tool、命令行 CLI、Iceberg Catalog Migrator(目录迁移)、Polaris MCP Server、Benchmarks、Synchronizer、Console 等官方工具集(1.8.0 文档 Tools 章节)。

四、功能特性

  • Iceberg REST API 一等实现:为 Spark/Trino/Flink/Doris/StarRocks/Dremio OSS 等引擎提供统一目录入口,一次接入多引擎互操作(官方主页);
  • 企业级安全:命名空间/表级 RBAC 访问控制、Keycloak 对接、OPA 外部策略决策、凭据下发减少客户端直连云存储的长期凭证暴露(官方 Managing Security 与 Vended Credentials 文档);
  • 数据与 AI 资产统一目录:官方定位将表与 AI 相关资产纳入同一目录视图;
  • 灵活后端:JDBC(Postgres/CockroachDB)与 MongoDB 双持久化路线,覆盖云上与自建环境;
  • 迁移与运维工具链:官方 Iceberg Catalog Migrator 支持既有目录迁入;Helm Chart 支持生产部署;Prometheus/Jaeger 遥测指南开箱可循。

五、快速上手

以下步骤引自官方 1.8.0 文档 Binary Distribution 页(来源:https://polaris.apache.org/releases/1.8.0/getting-started/binary-distribution/ ,查询日期 2026-10-18)。前置条件:本机已安装 Java SE 21 或更高。

1. 下载并解压二进制发行包:

POLARIS_VERSION=1.8.0
curl -Lf https://downloads.apache.org/polaris/${POLARIS_VERSION}/polaris-bin-${POLARIS_VERSION}.tgz | tar xzf -
cd polaris-bin-${POLARIS_VERSION}

2. 启动 Polaris 服务:

bin/server

服务将监听 http://localhost:8181(主 REST API)与 http://localhost:8182(管理接口,健康检查与指标)。健康端点为 http://localhost:8182/q/health 与 http://localhost:8182/q/metrics,可用以下命令确认服务状态:

curl http://localhost:8182/q/health

3. 后续:按官方 Quickstart/Deploying Polaris 文档配置 metastore 与对象存储,创建 catalog 并用 Spark/Trino 等引擎经 Iceberg REST API 接入。

六、适用场景与限制

适用场景:

  • 以 Iceberg 为核心表格式构建湖仓/数据平台,需要一个中立的、多引擎共享的 REST 目录服务;
  • 多引擎环境(Spark + Trino + Flink + Doris/StarRocks 等)需要统一元数据与统一权限(RBAC/OPA/Keycloak);
  • 需要把既有 Hive Metastore/BigQuery 元数据联邦进统一目录,或从其他 Iceberg 目录迁移(官方 Migrator 工具);
  • 自建对象存储(Ozone/Ceph/RustFS)与多云存储并存的混合环境。

限制与注意:

  • Polaris 本身是目录服务而非查询/存储引擎,需与 Iceberg 表格式及至少一个计算引擎配套使用;
  • 1.x 系列迭代快(2026 年内 1.4.x→1.8.x),生产升级需跟踪版本变更;
  • 部分能力处于官方标注的早期阶段(如 Generic Table 标注 Beta),采用前需按 1.8.0 文档逐项确认。

七、同类选型对比

同为「开放表目录 / 元数据湖」路线的对比(数据联网实查于 2026-10-18;星标为徽章服务实时读数):

维度Apache Polaris 1.8.0Nessie 0.109.0Apache Gravitino 1.3.1Lakekeeper 0.14.1
开源许可Apache-2.0Apache-2.0Apache-2.0Apache-2.0
GitHub stars约 2.1k约 1.5k约 3.3k约 1.5k
最近发版1.8.0 @2026-09-280.109.0 @2026-10-081.3.1 @2026-09-300.14.1 @2026-10-16
版本节奏1.x 稳定线,年月级连续发版0.x 快速迭代,约两周一小版1.x 稳定线,补丁月级0.x 快速迭代,双周级
兼容矩阵/机制ASF TLP;Iceberg REST API 一等实现;JDBC/MongoDB 后端;HMS/BigQuery 联邦与目录迁移工具以 Git 式分支/提交模型为 Iceberg 提供版本化目录后端ASF TLP;元数据湖定位,统一管理 Hive/Iceberg/JDBC 等多类 catalog 与授权开源 Iceberg REST 目录,轻量部署,S3 签名代理等云存储细节活跃打磨

选型建议:要「ASF 治理 + 企业级 RBAC/凭据下发 + 官方迁移工具」的 Iceberg REST 目录,选 Polaris;需要 Git 式数据版本化工作流的选 Nessie;要跨异构 catalog 的统一元数据湖与授权面,选 Gravitino;追求轻量、专注 Iceberg REST 且云存储兼容性打磨及时的选 Lakekeeper(商业闭源路线可另评 Databricks Unity Catalog)。

八、参考链接