The Silent Timezone Shift: Debugging PySpark's .collect() Offset Bug
How querying a UTC timestamp via PySpark's .collect() magically gained a +7 hour offset, and how to safely serialize dates from the JVM to Python.
Engineering thoughts, guides, and architectural decisions.
How querying a UTC timestamp via PySpark's .collect() magically gained a +7 hour offset, and how to safely serialize dates from the JVM to Python.
How standard DISTINCT logic fails on edge cases, and why ROW_NUMBER() window functions are the ultimate tool for intelligent data deduplication.
How a dummy date of 0001-01-01 crashed our production pipeline, and why Spark 3.x enforces the Proleptic Gregorian calendar.
A deep dive into Spark History Server configuration, and how we saved on Azure ADLS Gen2 costs by leveraging ZSTD compression and JVM heap buffering.
An empirical deep-dive into the impact of Liquid Clustering on upsert (MERGE) performance using a real-world telematics dataset.
An empirical deep-dive into resolving Write Amplification and Small File Problems in Delta Lake on a managed cloud Spark cluster with local M2 benchmarks.