Self-service data-quality platform
Designed a self-service platform for defining, running, monitoring, and investigating data-quality checks across distributed data workloads.
tag
9 items Β· 5 projects Β· 4 feed items
Designed a self-service platform for defining, running, monitoring, and investigating data-quality checks across distributed data workloads.
Refactored event-processing pipelines into a governed, queryable transformation layer for trusted operational analytics.
Architected an enterprise data lake with a metadata-driven PySpark framework, schema versioning, and reusable data-quality patterns.
Reusable PySpark library that standardised reading, writing, configuration, and error handling across common enterprise data stores.
Improved the reliability and throughput of data pipelines by reworking bottlenecks, parallelism, storage formats, and streaming hand-offs.
From batch to streaming, the gotchas. Watermarks that drop too aggressively, late events that get silently lost, stateful aggregations that grow without bound, and the four operational habits that keep streaming jobs healthy in production.
Why your Spark job has 200 partitions even when your data has 5 GB. How to pick a target partition size, when to repartition vs coalesce, when AQE saves you, and the diagnostic loop I run on every slow job now.
Five MERGE patterns that solved real problems for me: idempotent upsert, soft delete, late-arriving data, deduplication on ingest, and the slowly-changing-dimension type-2 case. Plus the performance gotchas that bit me first.
How to know your job is skewed (the Spark UI lies more than you think), and the three fix patterns I reach for in production: salt-and-aggregate, broadcast join, and AQE-driven dynamic shuffle.