Schema Evolution: Surviving the Day Upstream Renames a Column
Every source schema changes eventually. Which changes Delta accepts silently, which it rejects, a contract per layer, and the changes no schema check sees.
Data & AI Director
Technologist specializing in Microsoft Fabric, Azure data platforms, and cloud architecture. Microsoft MVP and certified trainer helping organizations unlock the power of their data.
Specialized in the Microsoft data ecosystem. From Fabric lakehouses to real-time analytics, I help teams build modern data platforms.
End-to-end analytics platform expertise including Lakehouses, Data Factory, Real-Time Intelligence, and OneLake architecture.
Designing and implementing enterprise data solutions on Azure including Synapse, Databricks, Data Factory, and Cosmos DB.
Integrating AI/ML capabilities with Azure OpenAI, building analytics solutions with Power BI, and implementing MLOps best practices.
Thoughts on data engineering, Azure, and technology
Every source schema changes eventually. Which changes Delta accepts silently, which it rejects, a contract per layer, and the changes no schema check sees.
Should last year's revenue move when a customer changes segment? Pick an SCD type per column, write a replay-safe Type 2 MERGE, and join facts correctly.
Small files come from simple arithmetic, and every reader pays a cost per file. Where they come from, how to measure them, and how to compact them safely.
A query for one day should not read three years. How partition pruning works, the five ways it silently breaks, and how to pick partition columns.
The physical plan shows what Spark will actually do: shuffles, join strategy, pruning, Python UDFs. How to read one, and which plans should worry you.
One hot key can make one task do a third of a job, and more nodes will not help. How to spot skew in the Spark UI, find the keys, and fix it properly.
Looking for Fabric expertise or Azure data architecture guidance? I'm available for consulting, training, and speaking engagements.