BigData / Apache Iceberg Interview questions
What is the difference between Iceberg and a Hive table?
Both organize data files in a data lake into a queryable table, but they differ fundamentally in how table state is tracked, which cascades into very different reliability and flexibility characteristics.
| Hive Table | Iceberg Table |
| Table state inferred by listing directories/partitions. | Table state tracked explicitly via metadata files and manifests. |
| Partition columns physically exist as separate directory paths. | Hidden partitioning; no separate partition columns required in queries. |
| Changing partitioning typically requires a full table rewrite. | Partition evolution changes strategy without rewriting existing data. |
| No native snapshot isolation; concurrent writes risk inconsistency. | Snapshot-based ACID transactions with safe concurrent access. |
The directory-listing-based approach Hive relies on is the root cause of many of its limitations: because there's no explicit, atomic record of "which files make up this table right now," operations that Iceberg handles safely and cheaply through metadata — schema changes, partition changes, concurrent commits — are either unsafe or prohibitively expensive under Hive's model.
More Related questions...