Skip to content
File & Metadata LayerLast updated: October 15, 2026

Iceberg Data Files

Iceberg data files are immutable Parquet, ORC, or Avro files that hold table rows, tracked by manifests instead of directory listings. See formats and cleanup.

iceberg data filesiceberg parquet filesiceberg immutable filesiceberg file formats

Iceberg Data Files

Iceberg data files are the Parquet (default), ORC, or Avro files that hold a table’s rows. They are immutable, and Iceberg finds them through manifest entries that record each file’s path, partition, row count, and column stats, never by listing directories.

Data files are the leaf layer of the Apache Iceberg metadata hierarchy: the actual columnar files stored in object storage that contain your table’s data rows. Every fact, every metric, every event record lives in a data file. Understanding how Iceberg manages data files is fundamental to understanding both its performance characteristics and its operational requirements.

Supported File Formats

Iceberg supports three file formats for data storage, two columnar and one row-oriented:

Parquet is the dominant format in the Iceberg ecosystem. It provides:

Apache ORC

ORC (Optimized Row Columnar) is primarily used in Hive-origin ecosystems. It provides similar columnar benefits to Parquet with slightly different encoding strategies. Iceberg supports ORC for workloads migrating from Hive.

Apache Avro

Avro is a row-oriented format. Iceberg supports it for data files, though it is rare for analytical tables; Iceberg itself uses Avro for manifest files and manifest lists.

For almost all use cases, Parquet is the correct choice due to its superior analytical read performance and broad ecosystem support.

Immutability: The Core Principle

Iceberg data files are immutable: they are written once and never modified. This is the foundational design decision that enables all of Iceberg’s other properties:

When UPDATE or DELETE operations are performed, Iceberg never modifies existing data files. Instead, it either rewrites affected files (Copy-on-Write) or creates delete files that mark rows as deleted (Merge-on-Read). In format v3, row-level deletes are stored as deletion vectors in Puffin files.

How Data Files Are Tracked

Data files are not discovered by listing object storage directories. They are tracked by manifest files, which record:

This means adding a file to an Iceberg table requires both writing the file AND committing a manifest entry, which happens atomically via the snapshot commit protocol.

File Naming

The spec does not mandate file names, because manifests store full paths. Spark writers, for example, produce names like {partition-id}-{task-id}-{operation-id}-{file-count}.{format} under a data/ folder with Hive-style partition paths:

event_date=2026-05-14/0-0-00000-0-abc12345-1234-5678-abcd-ef0123456789.parquet

The Small File Problem

Because Iceberg generates new files for each write transaction, high-frequency streaming writes or micro-batch jobs create many small files. Small files harm query performance because:

The solution is regular compaction: merging small files into larger ones (Iceberg’s default target is 512 MB; many teams use 128 MB to 512 MB). See Iceberg Compaction for details.

Data File Lifecycle

  1. Created: During a write operation (INSERT, INSERT OVERWRITE, MERGE, compaction).
  2. Tracked: Referenced by a manifest file, which is referenced by a snapshot’s manifest list.
  3. Active: Part of the current snapshot or any unexpired historical snapshot.
  4. Orphaned: Created during a failed write (no manifest commit). Cleaned up by orphan file removal.
  5. Unreferenced: Compaction or a delete commits a new snapshot that no longer includes the file; older snapshots still reference it for time travel.
  6. Physically deleted: expire_snapshots deletes data files that no remaining snapshot references, and orphan file removal cleans up files left by failed writes.

Read more on this blog

📚 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

Work with Alex