ETL Pipelines with Rust
By External Provider
About this course
Build production-grade ETL pipelines in Rust that never drop rows silently and never panic on malformed input. In five weeks you will design the Extract boundary with serde-typed readers, enforce a Transform totality contract where every row either yields a validated record or flows through a structured error channel, and emit NDJSON and CSV from the same typed pipeline using the Write trait. You will master thiserror enums, ? propagation, proptest-based property testing, round-trip invariants, and the stderr-vs-stdout separation that makes every pipeline run auditable. The course closes with a preview of how the same contracts migrate to async with tokio — same invariants, different runtime. Every concept is demonstrated with real Rust code the instructor authored in the public repository, not pseudocode. This is the course for engineers who have shipped a Python ETL script that lost data at 2 a.m. and want the Rust type system to make that incident impossible.
What you will learn
- Design typed Rust ETL pipelines that uphold a totality contract — every input row either yields a validated record or a structured error.
- Write dual-format sinks that emit NDJSON and CSV from a single pipeline pass using the Write trait, with round-trip invariants verified by proptest
- Build thiserror-based error enums that propagate with ? and give every pipeline run a structured, auditable exit code