Menu

Course · Languages & query

Python for Data Engineers

Python glues pipelines together: ingestion, validation, orchestration and PySpark jobs. Focus on functions, generators, error handling and testable code.

Lessons
10
Interview questions
11
Projects & case studies
4
Reading time
~1 h

Your progress

Saved in this browser only

Course structure

Practise

Lessons

Work through the lessons in order. Completed lessons show a tick; lessons you have opened are outlined.

Start here

The complete overview of the course in one read.

  1. Python for Data EngineeringPython for Data Engineering: structuring pipeline code, data structures, generators and batching, error handling, idempotent loads, testing and orchestration.Beginner2 min

Beginner

Core concepts you will use every day.

  1. Python Functions, Modules and Reusable Data Pipeline CodeStructure Python pipeline code as small pure functions, clear modules and a thin entry point so it is testable, reusable and safe to run from any scheduler.Beginner6 min
  2. Python Data Structures for Data Engineering InterviewsChoose between list, tuple, set, dict, deque and Counter by their operations and costs, with the patterns that come up in data engineering coding interviews.Beginner3 min
  3. Python File I/O for Data Engineers: CSV, JSON, JSON Lines and GzipPython file I/O for pipelines: read and write CSV and JSON safely, stream JSON Lines and gzip files, handle encodings, quoting and Decimals, and write files atomically.Beginner9 min

Intermediate

Patterns used in production pipelines.

  1. Python Iterators, Generators and Memory-Efficient ProcessingUse Python iterators and generators to process files and API pages lazily, in batches, with flat memory use, and avoid the mistakes that silently exhaust them.Intermediate4 min
  2. Python Error Handling and Logging for Data PipelinesPython error handling and logging for pipelines: catch specific exceptions, add context with raise from, clean up with context managers, and log with run ids and tracebacks.Intermediate9 min
  3. Working with APIs in Python: Pagination, Retries and Rate LimitsPython API ingestion for data pipelines: requests with timeouts, cursor pagination as a generator, retries with backoff and Retry-After, rate limits and incremental pulls.Intermediate10 min
  4. pandas for Data Engineers: Essentials and When Not to Use Itpandas for data engineers: read with explicit dtypes, clean, deduplicate, join safely with validate, aggregate and write Parquet, plus when DuckDB, Polars or Spark fit better.Intermediate7 min
  5. Testing Python Data Pipelines with pytestpytest for data pipelines: test transforms with parametrize, fixtures and tmp_path, fake APIs with monkeypatch, test database loads and idempotency, and compare DataFrames.Intermediate10 min
  6. Build an Idempotent CSV Loader in PythonBuild a small Python loader that reads CSV files, skips and counts bad rows, and loads into a database so running it twice gives the same result.IntermediateTutorial6 min

Projects and case studies

Apply what you learned and prepare material to discuss in interviews.

Projects

System design case studies

Resources

Cheat sheets

Related courses

Plan your learning

Search
Filter by type