用途:为数据湖引入湖仓表格式,在对象存储(S3、GCS、Azure)上获得 ACID 事务、模式演进与时间旅行能力。覆盖 Delta Lake、Apache Iceberg、Apache Hudi 三种主流开放表格式。
主要能力:三者均支持 ACID 事务、时间旅行与模式演进。Delta Lake 偏 Spark/Databricks 生态,支持写时自动演进,写优化为 copy-on-write,提供纯 Python deltalake 包与 PySpark。Iceberg 引擎无关,支持 CoW 与 Merge-on-Read、分区演进与高级模式分支,提供纯 Python pyiceberg。Hudi 面向 Spark、侧重变更数据捕获(CDC)与流式,支持 CoW/MoR,仅 PySpark,含 Hoodie 表、索引与布隆过滤器。
用法要点:Delta 用 deltalake 的 DeltaTable 加载指定版本并转 pandas;Iceberg 用 catalog.load_table 配合 as_of_timestamp 扫描,并用 update_schema 显式加列;增量处理可读提交历史并过滤版本号。模式演进上 Delta 写入时默认自动演进,Iceberg 需显式更新。
适用场景:Spark/Databricks 生态选 Delta;多引擎分析(Spark、Trino、Flink、DuckDB)选 Iceberg;从 Kafka/数据库日志构建 CDC 管道选 Hudi。Apache XTable 与 Delta UniForm 可跨格式读取,降低锁定。
限制与前置:需熟悉 Polars、DuckDB、PyArrow 基础及云存储访问模式(fsspec 等)。具体版本行为、平台支持范围与性能表现以官方文档为准,资料未提供价格与部署细节。建议按日期/区域分区,定期 vacuum 或 expire_snapshots,优化小文件(OPTIMIZE、rewrite_data_files),并归档旧表元数据。