Skip to main content

Best open table format 2026

Summary

  • Delta Lake, Apache Iceberg and Apache Hudi are open table formats with overlapping features: transactions, schema evolution, time travel and row-level updates and deletes are documented for all three.
  • The differences are in design and operations. Delta Lake records changes in a _delta_log transaction log, Iceberg tracks snapshots through metadata files and manifests, and Hudi records actions on a timeline and offers Copy-On-Write and Merge-On-Read table types.
  • Compare how each format compacts files, reads changes incrementally and fits the engines you run. The docs of all three projects name Spark, Flink and Hive.
  • Conversion is documented: CONVERT TO DELTA converts Parquet tables and Parquet-backed Iceberg tables in place, and Iceberg's Delta Lake migration module can snapshot a Delta Lake table.
  • On Databricks, Delta Lake is the default format, managed Iceberg tables are generally available, and Iceberg reads (UniForm) let Iceberg clients read Delta Lake tables without rewriting files.

Best open table format 2026

There is no universally best open table format. Delta Lake, Apache Iceberg and Apache Hudi overlap on core features and differ in how they track table state and how you maintain tables. Choose by the engines you run, the change patterns you need to read, and the maintenance you want automated.

What is an open table format?

The Iceberg spec describes a table format as one "designed to manage a large, slow-changing collection of files in a distributed file system or key-value store as a table." Parquet is a columnar file format that many data processing systems support; a table format decides which files make up the table at a point in time, so that several engines can work with the same table.

How do Delta Lake, Iceberg and Hudi compare?

Capability Delta Lake Apache Iceberg Apache Hudi
Project describes itself as An open source project for building a lakehouse on data lakes A high-performance format for huge analytic tables An open data lakehouse platform built on an open table format
Table state _delta_log directory of JSON files plus Parquet checkpoints Metadata files, snapshots, manifest lists and manifests A timeline of actions at instants
Transactions ACID, with optimistic concurrency control Atomic commits in a linear history of table updates Transactions and concurrency control
Schema evolution mergeSchema option; rename and drop with column mapping Add, drop, rename, update and reorder as metadata changes On write for compatible changes; on read with hoodie.schema.on.read.enable
Time travel VERSION AS OF, TIMESTAMP AS OF VERSION AS OF, TIMESTAMP AS OF TIMESTAMP AS OF
Reading changes Change data feed (readChangeFeed, table_changes) Incremental reads of appended data; create_changelog_view procedure Incremental and CDC queries
Small-file compaction OPTIMIZE; auto compaction since Delta Lake 3.1.0 rewrite_data_files procedure Compaction (Merge-On-Read) and clustering
Engines in the docs Spark, Flink, Hive Spark, Flink, Hive, Impala Spark, Flink, Hive

When does each format fit?

Delta Lake. A Delta table is a batch table as well as a streaming source and sink, and the docs list upserts, deletes and schema enforcement. Consider it if you want the default format on Databricks. Column mapping lets RENAME COLUMN and DROP COLUMNS work without rewriting Parquet files.
Apache Iceberg. Schema updates and partition evolution are metadata operations, and old data keeps the partition layout it was written with. Consider it when you expect to change partitioning without rewriting data. The spec defines format versions 1 to 3: version 2 adds row-level updates and deletes through delete files, and version 3 adds types such as variant, geometry and geography.
Apache Hudi. Hudi describes its table format as purpose-built for high performance writes on incremental data pipelines. Copy-On-Write is optimized for read-heavy workloads, while Merge-On-Read balances write and read performance by combining log files with base files through periodic compaction. Consider it when your pipelines are incremental and you want to choose between those table types.

What do the Databricks docs say about table formats?

Delta Lake is the default format for all operations on Databricks, so unless you specify otherwise, tables are Delta Lake tables. Managed Iceberg tables are generally available, and predictive optimization runs OPTIMIZE, VACUUM and ANALYZE automatically on Unity Catalog managed tables, both Delta Lake and Iceberg. Liquid clustering replaces table partitioning and ZORDER and is generally available for Delta Lake tables on Databricks Runtime 15.4 LTS and above.
To let Iceberg clients read a Delta Lake table, enable Iceberg reads (UniForm). It generates Iceberg metadata without rewriting the Parquet data files, and the table must be registered in Unity Catalog:

CREATE TABLE T(c1 INT) TBLPROPERTIES(
  'delta.columnMapping.mode' = 'id',
  'delta.enableIcebergCompatV2' = 'true',
  'delta.universalFormat.enabledFormats' = 'iceberg');

FAQs

Can I switch table formats after I've written data?

Yes, and the documented paths avoid rewriting data files. CONVERT TO DELTA converts a Parquet table, or an Iceberg table backed by Parquet files, in place with no data copy or rewrite; Iceberg sources need the delta-iceberg JAR and cannot have experienced partition evolution. In the other direction, Iceberg's Delta Lake migration module provides snapshotDeltaLakeTable, which creates an Iceberg table that uses the Delta table's existing data files. It supports Delta tables with minReaderVersion 1 and minWriterVersion 2.

Do I need one format for the whole data lake?

No. Databricks documents Delta Lake as the default format alongside managed Iceberg tables in Unity Catalog, and predictive optimization covers both, so formats can coexist in one environment.

What is the difference between a file format and a table format?

A file format such as Parquet stores the data. A table format tracks which files belong to a table: Delta Lake uses its transaction log, Iceberg uses snapshots and manifests, and Hudi uses its timeline.

The information provided herein is for general informational purposes only and may not reflect the most current product capabilities or configurations.