🧊 Apache Iceberg & Table Formats
What turns a folder of Parquet into a table — snapshots and time travel, schema and partition evolution, and how Iceberg, Delta and Hudi differ where it matters.
No lessons published yet — this is the roadmap, so you can see exactly what the course will cover before it lands.
Before you start: Data Warehousing — Series 3 · 20. That episode introduces the lakehouse — Parquet and Iceberg queried straight off files. This track is the format layer underneath it in depth, and it assumes you already know why anyone would want a table on object storage in the first place.
Short on time? The 14 episodes marked core are the shortest path to being productive at work. Start there and pick up the rest whenever a job asks for them.
Series 1 · How a Table Format Works
snapshots, manifests, and why a commit is atomic
- 01
A Folder Is Not a Table — the Five Things That Break Without a Manifest
coreadvancedcoming soon - 02
Snapshots and Manifests — The Pointer Swap That Makes a Commit Atomic
coreadvancedcoming soon - 03
Hidden Partitioning — Querying a Timestamp Without Knowing the Layout
coreadvancedcoming soon - 04
Schema Evolution by Field ID — Why a Rename Costs Nothing and Breaks Nobody
coreadvancedcoming soon - 05
Time Travel, Rollback and Branches — Reading the Table as It Was
coreadvancedcoming soon
Series 2 · Running a Table
catalogs, writes, and the maintenance nobody warns you about
- 01
Catalogs — Who Holds the Pointer, and Why You Must Choose One
coreadvancedcoming soon - 02
Copy-on-Write Against Merge-on-Read — Deletes on Files That Cannot Change
coreadvancedcoming soon - 03
Compaction and Expiry — the Maintenance Nobody Tells You Is Mandatory
coreadvancedcoming soon - 04
Two Writers, One Pointer — Optimistic Concurrency and What Conflicts
advancedcoming soon - 05
Engines — Spark, Flink, Trino, DuckDB and pyiceberg, and Their Uneven Support
coreadvancedcoming soon - 06
Project — A Table That Survives a Schema Change, a Bad Write and a Rollback
coreadvanced#projectcoming soon
Series 3 · Choosing a Format
Iceberg, Delta and Hudi — and whether you need any of them
- 01
Delta Lake — A Transaction Log Instead of a Metadata Tree
coreadvancedcoming soon - 02
Hudi — Built for Upserts and Incremental Reads First
advancedcoming soon - 03
Choosing — What All Three Agree On, and What Actually Decides It
coreadvancedcoming soon - 04
Do You Need a Table Format — or Would a Warehouse Have Given You All Three?
coreadvancedcoming soon - 05
Project — Turn a Parquet Folder Into a Table Without Rewriting the Data
coreadvanced#projectcoming soon
Not here, on purpose
- Why a lakehouse instead of a warehouse — covered in Data Warehousing, Series 3 · 20, and compared against a columnar server at Data Warehousing, Series 3 · 35
- The engines that read and write these tables — covered in Apache Spark, Apache Flink and DuckDB. Here the engine is the client and the format is the subject
- Columnar storage and why Parquet is fast — covered in Data Warehousing, Series 2 · 00. Assumed here
- Running a catalog service in production — covered in Data Ops for the operational discipline. In this course, Series 2 · 00 is what a catalog IS and how to choose one