--- title: "Apache Iceberg" type: entity tags: [data-engineering, lakehouse, open-table-format, ACID] sources: [engineering-data-engineer] last_updated: 2026-05-02 --- ## Overview Apache Iceberg 是一个开放表格格式规范(Open Table Format),为数据湖提供 ACID 事务、隐藏分区、时间旅行和跨引擎互操作能力。Data Engineer Agent 使用 Iceberg 替代或与 Delta Lake 配合,实现跨引擎(Spark/Trino/Presto)读写同一份数据。 ## Key Features ### ACID Transactions 与 [[Delta Lake]] 类似,Iceberg 提供写操作的原子提交和并发控制。 ### Hidden Partitioning(隐藏分区) - 分区策略由 Iceberg 自动管理,消费者无需感知分区键 - 支持身份分区(identity)、桶分区(bucket)、日期/时间分区等 - 避免用户误操作分区列导致数据倾斜 ### Time Travel & Rollback - 通过 snapshot ID 或 timestamp 查询历史数据 - 支持 rollback 到任意历史 snapshot ###跨引擎互操作 - Spark、Trino、Presto、Flink、Hive 均可读写同一 Iceberg 表 - 企业级数据湖多引擎共享数据的标准方案 ## Iceberg vs. Delta Lake | 特性 | Apache Iceberg | Delta Lake | |------|---------------|------------| | 起源 | Netflix/Apple 开源 | Databricks 开源 | | 跨引擎 | ✅ 原生多引擎 | ⚠️ 主要 Spark/Databricks | | 隐藏分区 | ✅ | ❌ | | 增量读取 | ✅ | ✅ | | 生态 | Trino/Presto/Flink 广泛支持 | Spark/Databricks 深度集成 | ## Related Concepts - [[Delta Lake]](Iceberg 的主要替代方案) - [[Medallion Architecture]](Iceberg 作为 Bronze/Silver/Gold 存储格式)