liveBook · Manning

Field id

As explained in Architecting an Apache Iceberg Lakehouse

A stable field ID is an identifier that preserves a column's logical identity independently of its name or position in a schema.

A field ID gives each column a stable logical identity independent of its name, position, or physical representation. Apache Iceberg uses these identifiers to separate table schema from individual file schemas, allowing files written under different schemas to coexist safely. section 5.3.1 section 6.1.3

Field IDs support schema changes without rewriting existing data files:

Evolving an ingestion schema

An ingestion job reads the current Iceberg schema, compares it with incoming data, and maps a renamed, reordered, or newly added field to the appropriate table identity. Existing files remain valid while the table adopts the updated definition. section 6.1.3 section 5.3.1

How Architecting an Apache Iceberg Lakehouse covers it

How deep it goes
Explains stable identity and its role in renaming, reordering, and type widening, but does not detail identifier assignment internals.
Examples
Uses column renaming, reordering, type widening, and newly arriving ingestion fields as schema-change examples.
What you can do after
Apply it via Apache Iceberg to preserve column meaning across compatible schema changes without rewriting existing data files.
How it connects
Connects Apache Iceberg with Apache Parquet, schema evolution, schema management, and ingestion pipelines.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Architecting an Apache Iceberg Lakehouse. The section links point to the parts of the book it draws on.