✨ Apache Spark
What changes when one machine is genuinely not enough — DataFrames and the Catalyst plan, partitions and shuffle, joins that skew, and an honest answer to when a cluster is the wrong tool.
No lessons published yet — this is the roadmap, so you can see exactly what the course will cover before it lands.
Before you start: Learn SQL — Series 1 and Series 2. Spark is a SQL engine with a DataFrame API on top. Every optimisation lesson here is one about joins, grouping and cardinality, so you need those before the distribution part makes any sense.
Short on time? The 13 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 · Spark Fundamentals
whether you need it, and the model if you do
- 01
Do You Need Spark — and the Three Cheaper Answers to Try First
coreintermediatecoming soon - 02
Driver, Executors, Partitions — and Why an Action Re-Runs Everything
coreintermediatecoming soon - 03
DataFrames and Spark SQL — Two Syntaxes, One Engine
coreintermediatecoming soon - 04
Reading and Writing — Partitioned Layouts, and the Small-Files Problem You Just Made
coreintermediatecoming soon - 05
UDFs — Why a Python UDF Is a Cliff, and What pandas UDFs Fix
intermediatecoming soon - 06
Project — A Job Over Partitioned Parquet That Reads Only What It Needs
coreintermediate#projectcoming soon
Series 2 · Making It Fast
the shuffle, the skew, and reading the UI
- 01
The Shuffle — What Causes It, and Why It Is Almost Always the Slow Part
coreadvanced#dean-mapreducecoming soon - 02
The Spark UI and explain() — Finding Which Stage Is Actually Slow
coreadvancedcoming soon - 03
Join Strategies — Broadcast the Small Side, and When Spark Will Not
coreadvancedcoming soon - 04
Data Skew — One Task Running for an Hour While the Other 199 Finished
coreadvancedcoming soon - 05
Caching and Adaptive Query Execution — What You No Longer Have to Tune
advancedcoming soon - 06
Project — Take a Slow Job and Halve It, With the UI as Evidence
coreadvanced#projectcoming soon
Series 3 · In Production
tables, streaming, and an honest verdict
- 01
Delta and Iceberg From Spark — MERGE INTO, Time Travel and Compaction
coreadvancedcoming soon - 02
Structured Streaming — The Same API Over an Unbounded Table, in Micro-Batches
advancedcoming soon - 03
spark-submit, Configuration and Tests — Handing a Job to Someone Else
advancedcoming soon - 04
When Spark Wins — Finding the Crossover Point Instead of Assuming It
coreadvancedcoming soon - 05
Project — A Job That Reads a Lakehouse Table, Reconciles, and Writes One Back
coreadvanced#projectcoming soon
Not here, on purpose
- SQL itself — covered in Learn SQL
- Running and sizing a cluster — YARN, Kubernetes, autoscaling, cost — covered in Data Ops for the operational discipline. Here you only learn what a JOB AUTHOR must know about executors and partitions
- The RDD API — not covered beyond recognising it. The DataFrame API is what you write today
- MLlib and machine learning — not covered; this track moves and shapes data
- Streaming concepts — event time, watermarks, windows — covered in ETL & Data Pipelines, Series 3 · 42 and in Apache Flink. In this course, Series 3 · 05 is Spark's implementation, not the theory