1.6 KiB
1.6 KiB
title, type, tags, sources, last_updated
| title | type | tags | sources | last_updated | |||||
|---|---|---|---|---|---|---|---|---|---|
| Apache Iceberg | entity |
|
|
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 存储格式)