Preview Chapter 0 & 1 are free · the rest unlocks with purchase Buy full access →
DATA ENGINEERING BOOTCAMP — THE BOOK

Phase 3: Big Data
& Automation

Weeks 9–12. Your BrightCart pipeline gets a schedule (Airflow), a way to handle data too large for one laptop (Spark), a way to ship itself anywhere (Docker) — and then you build something entirely your own for the capstone.

4
Weeks covered
3
Tool spotlights
1
Capstone project
00
BEFORE YOU START · FREE

Preflight Check

Confirm these before Week 9 — Phase 3 assumes all of it is second nature.

Instructor / Self Preflight Checklist

Before starting Phase 3, confirm you can:

  • Create and activate a Python virtual environment without looking it up
  • Run SQL queries against PostgreSQL, including joins and window functions
  • Explain ETL end-to-end, extract through a validated load
  • Use GitHub for commits as a daily habit, not an afterthought

The Production Mindset

Everything in this phase is really one idea, applied three ways: a pipeline isn't finished when it works once. It has to rerun safely, log enough to debug itself, fail loudly on bad data, and be easy for someone else to deploy and understand. Airflow, Spark, and Docker are three different answers to "how do I make that actually true?"

01
WEEK 9 · FREE PREVIEW

Orchestration With Airflow

Phase 2's pipeline runs by hand. Airflow is what runs it for you, on a schedule, with retries, while you sleep.

Why Orchestration Exists

A single pipeline script is fine until you have five of them, some depending on others finishing first, all needing to run at specific times, with someone needing to know immediately when one fails. Orchestration is the layer that manages all of that — scheduling, dependencies, retries, and visibility.

Your First DAG

dags/first_pipeline.py
from airflow import DAG
from airflow.operators.empty import EmptyOperator
from datetime import datetime

with DAG(
    dag_id="first_brightcart_pipeline",
    start_date=datetime(2026, 1, 1),
    schedule="@daily",
    catchup=False
) as dag:
    start = EmptyOperator(task_id="start")
    finish = EmptyOperator(task_id="finish")
    start >> finish
TermMeaning
DAGa workflow definition — a set of tasks and the order they run in
Taskone unit of work inside a DAG
Operatora template for a kind of work (run Python, run Bash, etc.)

Chapter 1 Checklist — before moving on, you should be able to:

  • Explain the difference between automation and orchestration
  • Describe a DAG, task, and operator in your own words
LOCKED

The Rest of Chapter 1

PythonOperator & BashOperator, the TaskFlow API & XCom, Variables & Connections, retries, idempotent output paths, and a full realistic BrightCart DAG you can deploy.

WEEK 10 · LOCKED

Big Data With Apache Spark

PySpark DataFrames, explicit schemas, groupBy/joins, broadcast joins, lazy evaluation, partitioned Parquet output, and launching jobs with spark-submit.

  • Why Spark (and When Not To)
  • Spark Architecture & Vocabulary
  • GroupBy, Joins & Broadcast Joins
  • Lazy Evaluation: Transformations vs Actions
  • Window Functions, Repartition & Cache
  • Portfolio Project — Big Data Processing Job
WEEK 11 · LOCKED

Containerization With Docker

Dockerfiles, volumes, Docker Compose running your pipeline alongside Postgres, and the image-hygiene checklist that keeps builds portable.

  • Image, Container, Dockerfile, Volume
  • Your First Dockerfile
  • Docker Compose: Pipeline + Postgres Together
  • Portfolio Project — Dockerizing Your Data Pipelines
WEEK 12 · LOCKED

Capstone Project

Design your own end-to-end data platform on a dataset you choose — ingest, process, store, visualize — plus repo structure, README template, and a 4-day working plan.

  • Minimum Requirements & Repository Structure
  • Data Quality Checks Worth Including
  • Presentation Storyline & 4-Day Working Plan
  • Capstone Project — Full-Stack Data Platform
FULL PHASE 3 ACCESS

Unlock Spark, Docker & the Capstone

Get the complete orchestration, big data, containerization, and capstone chapters — with full code, diagrams, and the README/repo templates you'll present with.