← All courses

🔦 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

  1. 01

    Pipelines, PCollections and Runners — You Declare, the Runner Decides

    coreadvancedcoming soon
  2. 02

    ParDo, GroupByKey and Combine — and Why Combine Scales Where GroupByKey Does Not

    coreadvancedcoming soon
  3. 03

    The DoFn That Cached Something — Serializability and Side Inputs

    coreadvancedcoming soon
  4. 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

  1. 01

    What, Where, When and How — the Four Questions Every Streaming Job Answers

    coreadvancedcoming soon
  2. 02

    Windowing — Fixed, Sliding and Sessions, and Why Batch Is One Global Window

    coreadvancedcoming soon
  3. 03

    Triggers, Panes and Accumulation — the Choice That Silently Double-Counts

    coreadvancedcoming soon
  4. 04

    State and Timers — Per-Key Logic That Windows Cannot Express

    advancedcoming soon
  5. 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

  1. 01

    Runners — Direct, Dataflow, Flink and Spark, and Where They Differ

    coreadvancedcoming soon
  2. 02

    The Portability Framework — How a Python Pipeline Runs a Java Connector

    advancedcoming soon
  3. 03

    TestStream and PAssert — Driving Watermarks by Hand Instead of Waiting

    coreadvancedcoming soon
  4. 04

    Was Portability Worth It — the Premium on Insurance Nobody Claims

    coreadvancedcoming soon
  5. 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