🔦 Apache Beam
One pipeline description, several runners — PCollections and transforms, batch and streaming in a single model, and what portability costs you when you never actually port.
No lessons published yet — this is the roadmap, so you can see exactly what the course will cover before it lands.
Before you start: ETL & Data Pipelines — Series 3 · 42. That episode defines bounded against unbounded data and what event time and watermarks are for. Beam's whole model is an answer to those questions, and this track does not re-teach them.
Short on time? The 12 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 · The Model
pipelines, PCollections and transforms
- 01
Pipelines, PCollections and Runners — You Declare, the Runner Decides
coreadvancedcoming soon - 02
ParDo, GroupByKey and Combine — and Why Combine Scales Where GroupByKey Does Not
coreadvancedcoming soon - 03
The DoFn That Cached Something — Serializability and Side Inputs
coreadvancedcoming soon - 04
IO Connectors and Schemas — Reading and Writing Without Half-Written Output
coreadvancedcoming soon
Series 2 · Time and Triggers
what, where, when, and how — the four questions
- 01
What, Where, When and How — the Four Questions Every Streaming Job Answers
coreadvancedcoming soon - 02
Windowing — Fixed, Sliding and Sessions, and Why Batch Is One Global Window
coreadvancedcoming soon - 03
Triggers, Panes and Accumulation — the Choice That Silently Double-Counts
coreadvancedcoming soon - 04
State and Timers — Per-Key Logic That Windows Cannot Express
advancedcoming soon - 05
Project — A Windowed Pipeline That Handles Late Data Without Double-Counting
coreadvanced#projectcoming soon
Series 3 · Runners and Reality
where it runs, and whether portability was worth it
- 01
Runners — Direct, Dataflow, Flink and Spark, and Where They Differ
coreadvancedcoming soon - 02
The Portability Framework — How a Python Pipeline Runs a Java Connector
advancedcoming soon - 03
TestStream and PAssert — Driving Watermarks by Hand Instead of Waiting
coreadvancedcoming soon - 04
Was Portability Worth It — the Premium on Insurance Nobody Claims
coreadvancedcoming soon - 05
Project — One Pipeline That Runs Over a File and Over a Stream Unchanged
coreadvanced#projectcoming soon
Not here, on purpose
- Whether you need streaming at all — covered in ETL & Data Pipelines, Series 3 · 42
- Operating a Flink or Spark cluster — covered in Apache Flink and Apache Spark, and in Data Ops for the operational discipline
- A first introduction to PCollections and DoFns — covered in Java & Groovy for Data, Series 4 · 28, on the DirectRunner. Series 1 here recaps it in one episode and moves on