Skip to content
Iceberg Specification, Schema & Internals Last updated: May 29, 2026

Iceberg Metadata Table History

A virtual system table in Apache Iceberg that exposes the historical timeline of committed snapshots, timestamps, and lineage paths.

iceberg history tablesystem metadata historytable snapshot lineage

Iceberg Metadata Table History

The Iceberg Metadata Table History is a virtual system table exposed by Apache Iceberg query engines. It provides a read-only view of the chronological evolution of the table’s state, tracking when snapshots were committed, their unique identifiers, and their relationship to preceding table states. Data engineers query this table to audit modifications and retrieve target snapshot IDs for time travel analyses.

Querying the History Table

To inspect the history of an Iceberg table, query engines append the .history suffix to the table name:

/* Query the virtual history metadata table in Spark SQL */
SELECT made_current_at, snapshot_id, parent_id, is_current_ancestor
FROM prod.db.sales_table.history;

Table Schema and Fields

The history table returns the following schema:

Querying this history enables engineers to inspect the exact progression of data loads, identify when corrupt writes occurred, and locate snapshot points for rollback procedures.

πŸ“š Go Deeper on Apache Iceberg

Alex Merced has authored three hands-on books covering Apache Iceberg, the Agentic Lakehouse, and modern data architecture. Pick up a copy to master the full ecosystem.

← Back to Iceberg Knowledge Base