Start here
A table format turns a folder of Parquet files into a real table. You met the idea in "Storage Layers & File Formats". You met Delta Lake in depth in the Apache Spark section.
This chapter looks inside the other two formats, Apache Iceberg and Apache Hudi. Then it covers the catalog, the part that lets many engines share one table.
What you already know
- A table format keeps a log or metadata that lists the files in the table.
- A commit is all or nothing. A reader sees the old version or the new one.
- Time travel reads an old version, as long as its files still exist.
- Copy-on-write rewrites a file to change a row. Merge-on-read writes a small change file and merges it when reading.
If a line in this list is new, read "Storage Layers & File Formats" first. For Delta, read "Delta Lake & the Lakehouse".
What you will learn
- The files inside an Iceberg table, and how a query uses them.
- How time travel works without copying data.
- What happens when two jobs write at once.
- Hidden partitioning, and changing partitions without a rewrite.
- The jobs that keep a table healthy.
- Inside a Hudi table: the timeline, keys and table types.
- Catalogs, and how Spark, Trino and Snowflake can share one table.
- How to choose a format, and when a warehouse is better.
We use the shop table orders from "Storage Layers & File Formats", now as an Iceberg table. The snapshot numbers are made up.
