数据岗位面试题更新 2026-08-05

请解释 Apache Iceberg 是什么,并阐述它的核心用途有哪些?

数据技术原理技术选型Apache Iceberg

考察说明

考查对 Apache Iceberg 基本概念和典型应用场景的理解。

回答思路

  1. 【回答框架 1】Apache Iceberg 是一种开源的表格式(Table Format)规范,用于大规模数据分析场景中管理海量数据文件。它将数据文件与元数据分离,提供独立的表级抽象,使得在数据湖上能够像传统数据库表一样进行事务性操作。
  2. 【回答框架 2】其主要用途包括:支持 ACID 事务能力,保证并发读写时的数据一致性;提供高效的元数据管理和文件剪枝,支持时间旅行(Time Travel)和快照隔离,便于数据回溯、审计和重现历史状态。
  3. 【回答框架 3】Iceberg 支持多种计算引擎(如 Spark、Flink、Trino、Presto)直接读写同一张表,简化数据架构,避免数据冗余。同时它支持分区演进、隐藏分区等特性,降低维护成本。
  4. 【回答框架 4】在实际应用中,Iceberg 常用于构建数据湖仓一体架构,解决传统 Hive 表在更新、删除、并发和性能上的不足,适合需要高可靠性和灵活性的批流一体数据平台。
  5. 【关键点 1】Iceberg 是表格式规范,非存储引擎,定义元数据组织和文件管理方式。
  6. 【关键点 2】核心能力包括 ACID 事务、时间旅行、快照隔离和高效元数据剪枝。
  7. 【关键点 3】支持多种计算引擎(Spark、Flink 等)统一访问,实现湖仓一体。
  8. 【关键点 4】解决 Hive 表在数据更新、并发控制和性能方面的痛点。
  9. 【易错点 1】不要将 Iceberg 误认为存储格式(如 Parquet),它是表格式,数据仍以通用文件格式存储。
  10. 【易错点 2】并非所有引擎都支持全部 Iceberg 特性,需注意引擎兼容性差异。
  11. 【易错点 3】时间旅行能力依赖快照保留策略,需合理配置生命周期管理以避免存储浪费。