Skip to main content
Data Engineering

Data Engineering Tutorial with Examples.

Data engineering tutorial with runnable pipelines: ingestion, transformation, orchestration and performance tuning across batch and streaming.

Beginner

Start here — no prior experience needed

8 lessons
data-engineering beginner
5 min read

Build a complete ingest-transform-serve pipeline in fifty lines, then break it the three ways real pipelines break.

data-engineering beginner
5 min read

Measure the same dataset as CSV, JSON and Parquet — size, query time, column pruning — and see why a columnar format changes what queries are affordable.

data-engineering beginner
5 min read

Every pipeline gets run twice. Four patterns that make that harmless — overwrite, delete-insert, merge, and deduplication on a natural key.

data-engineering beginner
5 min read

Logical time versus wall-clock time, high-water marks that lose rows, and backfills that finish — what decides a nightly job is correct.

data-engineering beginner
5 min read

Partition pruning measured, the cardinality mistake that creates 50,000 tiny files, and why sorting inside a partition often beats adding another one.

data-engineering beginner
5 min read

Run the same ten orders through a batch pipeline and a streaming one, and measure the actual latency and pass-count difference instead of guessing.

data-engineering beginner
5 min read

Load the same two files three ways to see schema-on-read, schema-on-write, and the transactional guarantees a lakehouse adds on top of lake-style storage.

data-engineering beginner
5 min read

Load the same order data into a normalized schema and a star schema, then run the same query to see why analytics tables trade storage for join-free reads.

Intermediate

For developers with core concepts down

4 lessons

Advanced

Production-grade patterns for experienced engineers

11 lessons
data-engineering advanced
5 min read

Simulate a consumer crash and watch at-least-once produce duplicates, then fix it three ways — atomic commits, idempotent keys, dedup on read.

data-engineering advanced
5 min read

Which schema changes are safe, why backward and forward compatibility differ, and enforcing a contract in CI so a breaking change fails the build.

data-engineering advanced
5 min read

Build a lambda architecture's batch and speed layers by hand, watch a late event slip past both, then see why kappa makes reconciliation unnecessary.

data-engineering advanced
5 min read

Build a small lineage graph by hand, trace one output column back to the CSV it came from, and run impact analysis on a source change before it ships.

data-engineering advanced
5 min read

Classify every column in a catalog by sensitivity, enforce role-based access against it, and watch three roles get three different answers to one query.

data-engineering advanced
5 min read

Run the same email and SSN through three PII techniques and see what each gives up: hashing for joins, masking for display, tokenization for reversal.

data-engineering advanced
5 min read

Trace a pipeline run stage-by-stage, then flag a run 3x longer than usual and an error rate crossing its threshold - operational health, not data quality.

data-engineering advanced
5 min read

Write twelve months of Parquet files, then measure the real bytes and time saved by partition pruning and column pruning instead of taking it on faith.

data-engineering advanced
5 min read

Promote a staging table to production only when it passes real gate checks, and watch a build with a duplicate key get blocked while a clean build ships.

data-engineering advanced
5 min read

Back up a database, keep writing to it, lose it entirely, then restore - and measure the real RPO and RTO numbers instead of quoting them from a slide.

data-engineering advanced
5 min read

Run one pipeline through a lake, a quality gate, and a warehouse layer, capturing lineage and a trace - then watch the gate halt a bad batch.

Also part of Data Engineering

Taught in other topics. Each link opens the lesson in its home topic.

9 lessons
airflow beginner
5 min read

Install Airflow, write a three-task DAG, trigger it from the CLI, and read the scheduler's output to see what actually ran and in what order.

kafka beginner
5 min read

Watch a topic split across partitions, see how offsets are assigned per partition, and learn why Kafka only guarantees ordering inside a single partition.

spark beginner
5 min read

Submit a job and watch the driver plan it, executors run it, and the cluster manager allocate resources — reading each component's output live.

dbt beginner
5 min read

How ref builds a dependency graph, why layering into staging and marts pays off, and the selector syntax that runs exactly the models you changed.

databricks beginner
5 min read

ACID on object storage — read the _delta_log, travel back to a previous version, MERGE upserts, and see schema enforcement reject a bad write.

databricks beginner
5 min read

Bronze, silver and gold as three concrete tables — what belongs in each layer, why bronze keeps the bad rows, and when it's more than you need.

python intermediate
5 min read

Read and write text files with open() and with, choose the right file mode, navigate paths with pathlib, and round-trip JSON and CSV, all with real output.

python intermediate
5 min read

Handle exceptions with try/except/else/finally, chain and re-raise them, define custom exceptions, use except* and logging, all with real tracebacks.

terraform beginner
5 min read

Write a first Terraform config, apply it, change it and destroy it, seeing the real plan each time and why Terraform compares config, state and reality.