上次更新时间:05/01/2026
Apache Iceberg 是一种开源表格式,专为存储在数据湖中的大型分析数据集而设计。Iceberg 表将数据作为文件集合进行管理,为现代数据架构提供了更高的可靠性、性能和灵活性。不妨将其视为位于数据湖存储(例如 Cloud Storage)之上的智能层,为您的海量数据集提供类似数据库的功能。Iceberg 并非只是管理文件,而是将表作为数据文件的集合进行管理,从而支持架构演化、时间旅行以及更高效的查询规划等功能。这使数据分析师、数据科学家和工程师能够更轻松、更高效地处理数据湖中的数据,并增加他们的分析工作负载。
事务型数据湖不仅可以大规模存储数据,还支持事务操作,以确保数据的准确性和一致性。Iceberg 表支持这些属性,统称为 ACID。
Iceberg 表适用于各种现代数据湖和湖仓一体应用场景,包括:
各种技术人员都利用 Iceberg 表来高效管理大型数据集:
让熟悉标准 SQL 的用户无需学习新语言即可执行复杂的数据湖操作。
支持对数据结构进行无缝更改(添加、重命名或移除列),而不会中断查询。
支持变更数据捕获 (CDC),允许用户仅处理自上次运行以来发生变化的数据,从而提高效率。
使用元数据来删减不必要的文件,并通过谓词下推等技术来加速查询执行。
兼容 Spark、Flink、Hive 和 Presto 等各种引擎。
Apache Iceberg 引入了一个元数据层,该层位于数据湖中的实际数据文件之上。与传统的基于文件的系统相比,此元数据以更有条理、更可靠的方式跟踪表的结构和内容。下面是其主要机制的详细说明:
Apache Iceberg 的架构涉及多个协同工作的关键组件:
Apache Iceberg 通过添加可靠且高性能的表格格式,显著增强了数据湖的功能。在不使用 Iceberg 等表格格式的传统数据湖中,数据通常只是一些文件的集合。这可能导致多个挑战:
Iceberg 通过在数据湖之上提供结构化层来解决这些限制。它为数据湖引入类似数据库的功能,使其转变为功能更强大、更易管理的数据湖仓一体。通过将表作为包含丰富元数据的文件集合进行管理,Iceberg 可实现以下功能:
Google Cloud 提供了一个可靠的环境,可用于利用 Apache Iceberg。多项 Google Cloud 服务可与 Iceberg 顺畅集成,让用户能够构建功能强大且可扩缩的数据湖仓一体解决方案。





