guide10 min read

Apache Iceberg for Data Engineers: The Table Format That Won 2026

Schema evolution, time travel, and partition evolution at scale

Apache Iceberg is the open table format that won 2026. It brings ACID transactions, schema evolution, time travel, and partition evolution to data lake files — and every major vendor (Snowflake, Databricks, AWS, Google, Cloudera, Dremio, Starburst) now supports it natively. The table format wars are effectively over, and Iceberg won.

Apache Iceberg data engineering has gone from interesting experiment to industry standard in under two years. If you are a data engineer who has not yet worked with Iceberg, 2026 is the year that changes — not by choice, but because every major vendor has converged on it. Snowflake, Databricks, AWS, Google, Cloudera, Dremio, and Starburst all support Iceberg natively. The table format wars are effectively over, and Iceberg won. This guide explains what data engineers actually need to know: how Iceberg works under the hood, why it matters for your pipelines, and how to adopt it without rewriting your entire stack.

The shift to Iceberg is not just a vendor trend — it represents a fundamental change in how data engineers think about storage, compute, and interoperability. For the first time, you can store data once and query it from any engine without ETL, format conversion, or vendor lock-in. That is not marketing — it is the actual architecture.

Why Iceberg Won the Table Format Wars

Three open table formats competed for dominance: Apache Iceberg, Delta Lake, and Apache Hudi. Each had different design philosophies and different backers. Delta Lake was backed by Databricks. Hudi was backed by Uber and AWS. Iceberg was incubated at Netflix and contributed to the Apache Foundation.

Iceberg won for three reasons:

  • True engine independence. Delta Lake required the Spark runtime for full functionality until Delta UniForm (which is itself an Iceberg compatibility layer). Hudi had similar Spark dependencies. Iceberg was designed from the start to be engine-agnostic — it works identically with Spark, Trino, Flink, Dremio, Snowflake, and BigQuery.
  • Superior metadata management. Iceberg's metadata layer tracks every file, partition, and schema change in a structured manifest. This enables features like time travel, partition evolution, and hidden partitioning that competing formats either lack or implement less elegantly.
  • Vendor convergence. When Snowflake announced native Iceberg tables and Databricks launched Delta UniForm (which converts Delta to Iceberg for compatibility), the market signal was clear: even Iceberg's competitors acknowledged it as the interoperability standard.

By early 2026, the question is not whether to adopt Iceberg but when. For most data engineering teams, the answer is now.

How Iceberg Works: The Data Engineer's Mental Model

Iceberg is a table format specification — it defines how data files, metadata, and schema information are organized in object storage. Understanding the architecture helps you debug issues, optimize performance, and make informed decisions about partitioning and compaction.

An Iceberg table has three layers:

  • Data files — the actual Parquet (or ORC/Avro) files containing your rows. These live in object storage (S3, GCS, ADLS) just like any other data lake files.
  • Manifest files — JSON files that track which data files belong to a table, their column statistics (min/max values, null counts), and partition information. Manifests enable query planning to skip irrelevant files without reading them.
  • Manifest lists and metadata files — the top-level metadata that tracks the current state of the table, including schema, partition spec, sort order, and a pointer to the current set of manifest files. Each write creates a new metadata file, enabling time travel.

The critical insight for data engineers: Iceberg's metadata layer is what makes it powerful. Every query starts by reading metadata to determine which data files contain relevant rows, then reads only those files. This means partition pruning and file skipping happen at the metadata level — before any data files are opened.

Key Iceberg Features for Data Engineers

FeatureWhat It DoesWhy It Matters
Schema evolutionAdd, drop, rename, or reorder columns without rewriting dataNo more costly ALTER TABLE migrations or full table rebuilds
Partition evolutionChange partition strategy without rewriting existing dataAdapt partitioning as data patterns change without downtime
Hidden partitioningPartition on derived values (year, month, bucket) transparentlyUsers query without knowing partition structure — no WHERE year=2026 needed
Time travelQuery any previous version of a table by snapshot ID or timestampDebug issues, audit changes, reproduce historical analyses
ACID transactionsConcurrent reads and writes with serializable isolationNo more dirty reads or partial writes in your pipelines
Row-level operationsUPDATE, DELETE, MERGE operations on data lake filesGDPR compliance, CDC pipelines, and SCD without full rewrites
CompactionMerge small files into larger ones for query performanceMaintain performance as streaming writes create many small files

Adopting Iceberg in Your Existing Stack

The most common question from data engineers is: do I need to rewrite everything? The answer is no. Iceberg is designed for incremental adoption. Here is the practical migration path:

  • Start with new tables. Create new tables in Iceberg format. Your existing Parquet/Delta tables continue working unchanged.
  • Migrate high-value tables. Convert your most-queried tables to Iceberg using CREATE TABLE ... AS SELECT or in-place migration tools. Snowflake and Databricks both offer migration utilities.
  • Update pipelines incrementally. Modify write paths to target Iceberg tables. Most frameworks (Spark, Flink, dbt) support Iceberg as a write target with minimal configuration changes.
  • Enable cross-engine access. Once tables are in Iceberg format, configure read access from any engine that supports the Iceberg catalog — no ETL required.

The migration is not a big bang. Teams typically migrate 10-20 tables per sprint, starting with the highest-value analytics tables and working backward toward source-adjacent staging tables.

Iceberg Catalogs: The Decision That Matters Most

The catalog is the most important architectural decision in your Iceberg deployment. The catalog is the service that tracks which tables exist and where their metadata lives. Your choice of catalog determines which engines can access your tables and how they coordinate concurrent access.

The main options in 2026:

  • AWS Glue Catalog — the default for AWS-native shops. Good integration with Athena, EMR, and Redshift Spectrum. Limited multi-cloud support.
  • Nessie (Project Nessie) — a Git-like catalog that supports branching and merging of table state. Excellent for development workflows but adds operational complexity.
  • Polaris (Snowflake) — Snowflake's open-source Iceberg catalog. Good if Snowflake is your primary compute engine.
  • Unity Catalog (Databricks) — Databricks' catalog with Iceberg support through UniForm. Good if Databricks is your primary platform.
  • REST Catalog — the standard Iceberg REST catalog specification. Best for multi-engine, multi-cloud deployments where no single vendor should own the catalog.

For most teams, the REST catalog provides the best long-term flexibility. It avoids vendor lock-in and supports any engine that implements the Iceberg REST spec — which, as of 2026, is effectively all of them.

Iceberg + AI: Why Table Format Matters for AI Workloads

Iceberg's metadata layer is unexpectedly valuable for AI workloads. AI agents that query your data lake can use Iceberg metadata to understand table structure, column statistics, and partition layout without scanning data files. This makes AI-generated queries faster and more accurate.

Data Workers leverages Iceberg metadata extensively. Its 15 MCP-native agents can read Iceberg manifests to understand data distribution, detect schema changes across snapshots, and provide time-travel context when debugging data issues. When an AI agent asks "what changed in this table since yesterday," Iceberg's snapshot history provides the answer directly — no diff queries needed.

The combination of Iceberg's open format and Data Workers' context layer means your data is both engine-independent and AI-ready. Explore the documentation for guides on connecting Data Workers to your Iceberg catalog.

Common Pitfalls and How to Avoid Them

  • Small file problem: Streaming writes create many small files. Schedule regular compaction (every 1-4 hours for active tables) or use Iceberg's automatic compaction features.
  • Snapshot accumulation: Each write creates a new snapshot. Configure snapshot expiration (retain 5-7 days of snapshots) to prevent metadata bloat.
  • Partition strategy: Start with coarse partitions (day, month) and refine with partition evolution. Over-partitioning creates too many small files.
  • Catalog mismatch: Ensure all engines point to the same catalog. Using different catalogs for the same table causes metadata conflicts and data loss.
  • Sort order neglect: Configure sort orders for frequently filtered columns. This dramatically improves file skipping and query performance.

Building your data lakehouse on Iceberg? Book a demo to see how Data Workers provides AI-native context, observability, and governance for your Iceberg tables — open-source and free under Apache 2.0.

Go from data platform to
agentic platform.

With autonomous AI agents working across your entire data stack — MCP-native, open-source, deployed in minutes.

Book a Demo →

Related Resources