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

Phase 2: Data Processing
& Architecture

Weeks 5–8. You already know Python and SQL from Phase 1 — now they stop being separate skills and become one automated system: pandas, ETL pipelines, cloud storage, and data warehousing, all built around the same BrightCart dataset.

4
Weeks covered
8
Tool spotlights
4
Portfolio projects
00
BEFORE YOU START · FREE

Quick Recap

Two things worth re-grounding before Week 5 begins.

Where You Left Off

Phase 1 ended with a working brightcart Postgres database, a GitHub repo with real projects, and a star schema you queried by hand. If any of that felt unfamiliar, revisit Phase 1 first — this book assumes it's solid.

pandas

A DataFrame is just a smarter list of dictionaries.

ETL pipelines

Extract/transform/load as code that runs the same way every time.

Cloud & warehousing

Moves BrightCart's data off your laptop and into infrastructure built for scale.

01
WEEK 5 · FREE PREVIEW

Data Manipulation With Pandas

Phase 1 taught you to read one CSV with a for loop. Pandas makes that effortless at real scale — and it's how BrightCart's messiest export finally gets fixed.

Tool Spotlight: Pandas

Tool Spotlight

pandas

A Python library that turns tables of data into objects you can filter, clean, and summarize in a few lines.

What it is

pandas gives you two core objects: a Series (one labeled column) and a DataFrame (a full table). Everything from here on builds on those two ideas.

Why data engineers use it

Everything you did with csv.DictReader and manual for-loops in Phase 1 — filtering, grouping, joining — pandas does in one readable line.

How to get it running

pip install pandas inside an active virtual environment (python -m venv .venv, then activate it). Confirm with python -c "import pandas as pd; print(pd.__version__)".

Meeting dirty_orders.csv

Time to clean the file that's been waiting since Phase 1's Introduction. It's a denormalized export of BrightCart orders with every problem real data actually has: inconsistent casing, mixed date formats, missing amounts, and duplicate rows.

step 1: profile the damage before fixing anything
df = pd.read_csv("data/dirty_orders.csv")
print(df.shape)              # (47, 6)  <- should be 45 real orders...
print(df.isna().sum())
the fix — and the row count lines up with orders.csv again
df["customer_name"] = df["customer_name"].str.strip().str.title()
df["status"] = df["status"].str.strip().str.lower()
df["order_date"] = pd.to_datetime(df["order_date"], format="mixed", errors="coerce")
df["amount"] = df["amount"].fillna(0)
df = df.drop_duplicates(subset=["order_id"], keep="first")
print(df.shape)   # (45, 6)  <- matches the real order count

`&` and `|`, not `and` / `or`

Inside a pandas filter, use & for "and" and | for "or" — Python's own and/or don't work row-by-row across a whole column the way these do. This trips up almost everyone the first time.

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

  • Explain the difference between a Series and a DataFrame
  • Profile a new CSV with .shape, .info(), and .isna().sum()
  • Fix inconsistent text, mixed date formats, missing values, and duplicate rows in pandas
WEEK 6 · LOCKED

Building ETL Pipelines

Extract, Transform, and Load as three testable functions — plus secrets management, SQLAlchemy loads, retries, idempotency, and validation asserts.

  • What Is a Pipeline? (ETL vs ELT)
  • Tool Spotlight: python-dotenv & Config Files
  • Tool Spotlight: SQLAlchemy
  • Extracting From an API, Properly (pagination + retries)
  • Loading Into Postgres: Strategy Matters
  • Idempotency: Rerun Safely
  • Logging & Validation Checks
  • Portfolio Project — End-to-End ETL Pipeline
WEEK 7 · LOCKED

Cloud Engineering 101

Object storage, IAM & least privilege, serverless compute, and the cost guardrails that keep your first cloud bill from surprising you.

  • Cloud Vocabulary (AWS ↔ GCP)
  • Tool Spotlight: AWS CLI
  • Object Storage: raw / staging / curated
  • IAM & Least Privilege
  • Serverless Compute (Lambda shape)
  • Portfolio Project — Deploying Scripts to the Cloud
WEEK 8 · LOCKED

Modern Data Warehousing

Columnar storage, raw → staging → mart layering, physical star schema tables (CTAS), partitioning/clustering, and query cost mindset.

  • Why a Dedicated Warehouse? (BigQuery / Snowflake / Redshift)
  • From Views to Physical Tables (CTAS)
  • Partitioning & Clustering
  • Marts: The Final, Dashboard-Facing Layer
  • Portfolio Project — Cloud Data Warehouse Setup & Dashboarding
PHASE 2 COMPLETE · LOCKED

Wrap-Up & What's Next

Your full Phase 2 portfolio evidence checklist, and what changes going into Phase 3 (Airflow, Spark, Docker).

FULL PHASE 2 ACCESS

Unlock Chapters 2–5

Get the complete ETL pipelines, cloud engineering, and data warehousing chapters — with full code, diagrams, and portfolio project instructions — plus every future update to this book.