The Birdwatcher’s Guide to Optimised Tabular Data Pipelines
summary
A real pipeline walk-through: a naive O(T·D) loop on 5 million detections and 300 species becomes a linear-ish sweep-line with sorting, dropping an XS case from ~20s to <1s and the large pipeline from ~9 minutes to 36s after successive fixes. Key swaps are using Polars (lazy execution, Arrow memory) and columnar Parquet inputs, switching loops to vectorized expressions, using categorical enums, and streaming; GPU offload via Rapids/QDF fails to help. Memory falls from ~14GB to ~9GB.
AI-written summary · about
chapters (33)
- 0:00Introduction
- 0:21Talk overview
- 1:02Aircraft pipelines to bird counts
- 2:50Pipeline setup
- 3:51Naive algorithm baseline
- 4:36One sweep line optimization
- 5:39Small dataset benchmarks
- 5:59Vectorization with pandas
- 6:41Large dataset benchmarks
- 7:02Choosing data frame library
- 8:49Why Polars is optimal
- 9:11Narwhals compatibility
- 10:13Polars speed with Rust and Arrow
- 11:16Polars expressions and lazy execution
- 12:43Lazy execution analogy
- 13:24Lazy execution in code
- 14:06Projection and predicate pushdowns
- 14:49Lazy execution with Iceberg
- 15:32Choosing data types
- 16:58Categorical and enum types impact
- 17:18Selecting file formats
- 18:45File formats for analytics
- 19:51Parquet encoding benefits
- 20:12File format benchmarks
- 20:35Streaming for memory efficiency
- 20:56Streaming query limits
- 21:18Streaming performance gains
- 21:39GPU acceleration
- 22:02Polars GPU performance
- 22:45Final pipeline results
- 23:30Memory usage improvements
- 23:50Optimization checklist
- 24:12Closing and bonus footage
related talks
37mTaming the Data Tsunami
35mData Processing Pipelines for Small Big Data
24mTaming Data Skew in Production ML Pipelines
32m7 steps to build-your-own data pipeline - for day 1 of your startup
18mData Preprocessing for ML at Production Scale
03h 07mData of Unusual Size: Interactive Visualization
33mData preparation and analytics on your laptop with DuckDB
40mDuckDB: Harnessing in-process analytics for data science and beyond
