Advancing Apache Iceberg on Databricks: Iceberg v3 GA, Open Sharing, and Unified Governance
TL;DR · AI 摘要
Databricks 推出全面的 Iceberg v3 功能,支持跨引擎治理、开放共享与高性能优化,定义下一代开放湖仓标准。
核心要点
- Iceberg v3 引入删除向量、行跟踪和新 VARIANT 类型,提升表性能与兼容性。
- Unity Catalog 支持跨外部目录注册、治理与查询 Iceberg 表,并通过 DeltaSharing 协议实现开放共享。
- 新增跨引擎基于属性的访问控制(ABAC)与预测优化功能,确保细粒度治理与持续性能改进。
结构提纲
按章节快速跳转。
- §引言
开放湖仓的下一阶段由目录定义,Iceberg 需要提供互操作性与治理能力。
Databricks 推出 Iceberg v3、跨目录支持与开放共享功能。
支持直接在 Unity Catalog 中创建、优化与治理 Iceberg 表。
支持注册与查询外部目录管理的 Iceberg 表。
通过开放 API、跨引擎治理与性能优化,定义最互操作的 Iceberg 目录。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Advancing Apache Iceberg
金句 / Highlights
值得收藏与分享的关键句。
Iceberg v3 introduces native support for deletion vectors, row tracking, and the new VARIANT type.
Unity Catalog enables secure and open sharing of Iceberg tables using the DeltaSharing protocol.
Cross-engine Attribute-Based Access Control enforces fine-grained governance policies for external Iceberg engines.
标题:在 Databricks 上推进 Apache Iceberg:Iceberg v3 正式发布、开放共享与统一治理
URL 来源: https://www.databricks.com/blog/unity-catalog-and-next-era-apache-icebergtm
发布时间: 2026-05-28T18:58:09+0000
Markdown 内容: 开放湖仓的下一阶段将由目录定义。开放表格式使得许多引擎能够在相同的数据上工作成为可能,但目录决定了这些数据是否能够在系统之间一致地进行治理、优化和共享。随着越来越多的工作负载,包括 AI 和代理应用程序,依赖于跨多个系统的数据治理访问,企业需要一个能够提供互操作性、高性能和企业级治理的 Iceberg 目录。
这就是为什么今天,我们宣布了在任何湖仓目录上可用的最全面的 Iceberg 功能集。在本文中,我们将讨论 Unity Catalog 中对 Iceberg 支持的新增强功能,并解析使 Unity Catalog 成为市场上最互操作的 Iceberg 目录的五个关键点。
**新功能:Iceberg 功能概览**
我们已将一系列广泛的 Iceberg 功能推入 Databricks 和 Unity Catalog 的正式发布(GA)和预览(Preview)阶段,以确保每个引擎、每个目录和每个团队都能无缝协作。
- **托管 Iceberg**(GA): 在 Unity Catalog 中直接创建、读取、写入、优化、治理和共享 Iceberg 表,Predictive Optimization 和 Liquid Clustering 消除了保持表性能所需的繁琐手动工作。
- **Iceberg v3**(GA): 在托管、外部和 UniForm 启用的表中,原生支持删除向量、行跟踪和新的 VARIANT 类型。
- **外部 Iceberg**(GA) & **外部 Iceberg 凭据分发**(GA): 注册、治理并安全查询由外部目录管理的 Iceberg 表。
- **向 Iceberg 客户端外部共享**(GA): 使用开放的 DeltaSharing 协议,与任何 Iceberg REST 兼容客户端共享实时数据。
- **外部共享外部 Iceberg 表**(公共预览): 在 Databricks 和 Delta Sharing 生态系统中,原生共享由 Databricks 外部管理的 Iceberg 表。
- Iceberg 兼容的物化视图 (受控公共预览): 在 Databricks 中创建高性能物化视图,并将其作为原生 Iceberg 表暴露给下游消费者。
- **跨引擎基于属性的访问控制**(Beta): 通过 Iceberg REST Catalog 扫描 API,为外部 Iceberg 引擎实施细粒度治理策略。
- 新的目录联合连接器 (预览): 扩展 Unity Catalog 的目录联合支持,超越AWS Glue、Snowflake Horizon、Hive Metastore 和 Salesforce Data Cloud,新增对 Google Cloud Lakehouse 和 Palantir 的支持,使 Unity Catalog 成为您的单一管理界面。
**使 Unity Catalog 成为最互操作的 Iceberg 目录的五个关键点**
为了实现完全开放的湖仓,Iceberg 目录必须超越基本的元数据跟踪。它需要为您提供在不同引擎、供应商和治理模型之间的绝对灵活性。我们认为,评估一个开放的 Iceberg 目录的关键在于它如何满足五个基本操作需求:提供**开放 API**、**跨外部资产联合**、**跨引擎治理**、启用**安全和开放共享** 以及持续**性能** 和 **格式** 创新。
Unity Catalog 是唯一一个能够满足所有五个需求的目录。
**1. 开放 API 和凭据分发**
客户应能够使用最适合其工作负载的引擎,无论是 Spark、Trino、Flink、Snowflake、DuckDB、pandas 或其他 Iceberg 兼容客户端,而无需复制数据或为每个引擎提供广泛的存储权限。
随着托管 Iceberg 在 Databricks 上正式发布,客户可以使用 Unity Catalog 的 Iceberg REST Catalog API 从任何引擎创建、读取和写入 Iceberg 表。
Unity Catalog 的 Iceberg REST Catalog API 现在已扩展到托管 Iceberg 表之外。Unity Catalog 还为联合 Iceberg 表分发凭据,即使这些表由外部目录管理,也可以通过开放 API 提供安全访问。目前处于受控公共预览阶段,客户可以在 Databricks 中创建物化视图,并将其作为 Iceberg 表暴露给下游消费者。在未来几周内,客户将能够直接通过 CREATE MATERIALIZED VIEW my_mv USING ICEBERG 创建 Iceberg 兼容的物化视图。
开放标准在企业规模上释放了真正的价值机会。Apache Iceberg 和 Databricks 正在帮助 AT&T 构建面向未来的数据基础:互操作、受治理,并为推动变革的 AI 应用做好准备。— AT&T 首席数据与 AI 官 Andy Markus
**2. 目录联邦:统一视图下的整个 Iceberg 资产**
许多大型企业在其数据湖中拥有多个目录。例如,他们可能在 Unity Catalog、AWS Glue、Snowflake Horizon 和 Hive Metastore 中分布数据。随着 Foreign Iceberg 现已全面可用,Unity Catalog 可以治理其他目录中管理的 Iceberg 表。客户可以通过 Databricks 发现、保护、查询和共享外部 Iceberg 表,同时保持数据和源目录不变。
Unity Catalog 现在支持广泛且不断增长的 Iceberg 目录集成,包括 AWS Glue、Google Cloud Lakehouse Runtime Catalog、Snowflake Horizon、Palantir、Salesforce 和 Workday。这些集成使企业能够将 Unity Catalog 作为其 Iceberg 资产的单一管理界面,即使数据是在其他地方生成或管理的。
**3. 跨引擎基于属性的访问控制**
历史上,行级和列级控制是在单一引擎内强制执行的。在开放的数据湖中,同一张表可以被多个引擎访问。这引入了一个难题:治理需要在数据可被访问的任何地方生效。
随着跨引擎基于属性的访问控制(ABAC)进入 Beta 阶段,Unity Catalog 将基于属性的访问控制扩展到使用 Iceberg REST Catalog Scan API 的 Iceberg 客户端。
其工作原理:管理员在 UC 中一次性定义策略,包括列掩码、行过滤器和基于标签的策略。当外部 Iceberg 引擎请求访问时,UC 在服务器端扫描计划期间评估适用的策略。然后 UC 返回一个过滤后的扫描计划,使引擎在处理查询时仅读取授权的数据。
这通过开放标准为外部 Iceberg 引擎带来了细粒度的治理。任何实现了 Iceberg REST 目录扫描计划客户端(在 Iceberg 1.11 版本中添加)的引擎,例如 Apache Spark 或 DuckDB,都可以在 ABAC 强制执行的情况下访问数据。客户可以为每个工作负载选择最佳引擎,同时在整个数据湖中保持统一的治理模型。
Unity Catalog 和托管的 Iceberg 为我们提供了两全其美的优势:我们 AI 和 ML 管道的原生性能,以及对所有下游消费者的开放互操作性。一个写入路径,零数据复制,以及每个引擎都尊重的治理层,包括我们为 Rippling 的 Data Cloud 构建的 AI 驱动产品。— Rippling 数据平台高级工程师 Tae Lee
**4. 零复制安全共享,支持外部与跨域协作**
跨域共享通常迫使数据提供者做出糟糕的权衡:将数据复制到另一个平台、构建复杂的外部认证机制,或要求每个接收方使用相同的供应商生态系统。Databricks 通过 Delta Sharing 开创了安全的开放数据共享,这是最广泛采用的开源协议,用于数据和 AI 共享,支持 Databricks 到 Databricks 和 Databricks 到开放共享。
我们很高兴地宣布,Iceberg 现已成为 Databricks DeltaSharing 的一等公民,既作为源格式,也作为目标格式。随着向 Iceberg 客户端共享功能的全面可用,Databricks 客户可以与任何支持 Iceberg REST Catalog API 的接收方外部共享实时数据。接收方可以使用与 Iceberg 兼容的客户端(如 Snowflake、Trino、Flink 和 Spark)查询共享数据,而无需手动摄取或复制数据。提供者继续通过 Unity Catalog 管理访问、审计和治理。
我们还宣布了外部 Iceberg 共享的公共预览版。客户可以共享在 Databricks 外部管理或编目的 Iceberg 表,但这些表已在 Unity Catalog 中注册和治理。这意味着 UC 可以作为托管和外部 Iceberg 表的共享层,同时保持数据原地存储和治理集中化。
**5. 性能与格式创新:无需手动调优的更快开放表**
开放互操作性只有在表在生产规模下保持高性能时才有效。Unity Catalog 是唯一使用 AI 优化表以实现更快查询和更低运营开销的目录。预测优化确定哪些表需要维护、运行哪些优化以及运行频率,并根据工作负载模式调整表的数据布局。这减少了随着使用变化保持 Iceberg 表快速和成本效益所需的运营工作量,而这些优化使所有引擎受益——例如,数据布局优化技术改进了在 Databricks 外部运行的查询(如 Apache Spark 中的查询)的数据跳过功能。我们不断在客户体验上进行创新,并且是唯一能够智能选择聚类键以实现最佳性能或根据先前的访问模式自动升级开放表的目录。
Databricks 还在推动 Iceberg 标准本身的发展。随着 Iceberg v3 在 Databricks 上全面可用,客户可以在托管的 Iceberg 表、外部 Iceberg 表以及启用 UniForm 的托管表中获得对删除向量、行跟踪和 VARIANT 的支持。这些功能弥合了性能与互操作性之间的重要差距:删除向量加速了更新、合并和删除操作;行跟踪支持更高效的增量处理;而 VARIANT 提供了半结构化数据的标准表示形式。这些特性还能在 Delta 表和 Iceberg 表之间无缝协作,从而实现无需重写数据的互操作性。
这些投入都指向同一个目标:开放的表格式,不会让客户在生态系统互操作性和生产工作负载所需的性能能力之间做出选择。
Unity Catalog 为我们提供了一个统一的地方来管理跨团队和系统的数据,而托管的 Iceberg 则在我们的规模下提供了所需的性能。 — Kayvon Raphael,Magnite 数据工程主管
综合来看,这五项功能使 Unity Catalog 成为 Apache Iceberg 的最佳目录。UC 为客户提供了对 Iceberg 表的开放访问、跨目录的统一视图、跨引擎的细粒度治理、跨域的安全共享以及针对生产工作负载的自动优化。
**下一个前沿:Iceberg v4**
通过 Iceberg v4,我们从头开始重新设计核心元数据结构,以实现更好的性能、可扩展性和互操作性。我们的目标是不断提高性能和功能创新的标准,并以一种将 Iceberg 和 Delta Lake 更紧密联系在一起的方式实现这一目标。这也是为什么我们建议 Delta 的下一个版本 Delta 5.0 采用自适应元数据树结构。
结果很简单:所有托管表在 Unity Catalog 中都会自动优化,通过开放的 API 进行治理,并可供任何引擎使用。而其他平台通常要求您在互操作性和高级性能与功能之间做出选择。使用 Unity Catalog,您可以同时获得两者。
**在 Data + AI Summit 了解更多**
请加入我们在 Data + AI Summit 的活动,了解更多关于 Apache Iceberg、Unity Catalog、开放共享、联邦化以及 Delta 和 Iceberg 格式统一的下一阶段。
- **格式协同进化:Iceberg v4 和 Delta 5.0 如何共享统一元数据** 深入了解 Iceberg v4 的自适应元数据树以及 Delta 5.0 如何采用相同的内容元数据结构,从而在统一的生态系统中实现更好的性能和互操作性。
- **开放表格式指南:Delta、Iceberg、最佳实践及未来方向** 了解 Delta Lake 和 Apache Iceberg 的最新动态,包括跨格式工作的最佳实践以及我们即将推出的路线图,以更好地服务于 AI/ML 工作负载。
- **Magnite 在 PB 级 Iceberg 数据上的互操作性之旅** 听取 Magnite 如何通过 Unity Catalog 集中访问,同时在包括 Apache Spark、DuckDB 和 Snowflake 在内的多个引擎上提升性能。
- **如何通过 Lakehouse 联邦化安全访问 AWS Glue、Snowflake、BigQuery 和 Fabric 中的数据** 了解 Unity Catalog 如何作为“目录的目录”,在不复制数据的情况下,对跨外部系统的数据进行治理、保护和查询。
- **Apache Iceberg 互操作性:Databricks Delta Sharing 中的一流开放支持**
了解 Delta Sharing 中的一流 Iceberg 支持,包括 Foot Locker 如何使用 Databricks 开放共享实现跨平台的 Iceberg 互操作性。