</> Morad :)
Home Medium Series Articles & Code Journey Quizzes About
LinkedIn Medium
Home Medium Series Articles & Code Journey Quizzes About
LinkedIn Medium
Medium Channel

Medium Stories & Technical Series

Here you will find all my articles published on Medium. I write regularly about Semantic Layers, Postgres, LLM Evaluation, CDC Pipelines, and Stream Processing.

Follow @moradabaz on Medium
Medium apache-sparkapache-iceberg
Sep 15, 2026

Another Spark Issue: 204 Gigabytes of Spilled Memory and Zero Skewed Tasks

A weekly merge job kept getting slower, week after week. Every signal pointed at the usual suspect. It wasn’t. Here’s how we told the difference, and what was actually eating the extra time. A few ...

Read story on Medium →
Medium semantic-layeranalytics-engineering
Aug 26, 2026

Building a Semantic Layer from Zero (Part 2): Can Column Descriptions Alone Stop an LLM From…

Building a Semantic Layer from Zero (Part 2): Can Column Descriptions Alone Stop an LLM From Hallucinating SQL? Same 6 questions, same database — but this time the model gets the schema. 6/6 correc...

Read story on Medium →
Medium data-analyticsdbt-semantic-layer
Aug 24, 2026

Building a Semantic Layer from Zero (Part 1): When You Give an LLM a Database and Zero Context

6 questions, 12 attempts, 1 silent fabrication that would have gone straight into a report This is part 1 of a 6-post series that answers one question: How much context does a model actually need t...

Read story on Medium →
Medium apache-flinkdata-engineering
Aug 7, 2026

I Built a CDC-to-Flink Pipeline and Documented Every Decision That Had to Change

8 architecture decisions, 5 Debezium incidents, 3 corrections — and what a streaming pricing engine looks like after all of them The entire project was built with spec-driven development — every ph...

Read story on Medium →
Medium distributed-systemsbig-o-notation
Aug 5, 2026

The Computer Science Behind Spark Joins

Hash tables, sorting algorithms, and Big-O explain joins and shuffle issues better than any tuning guide Apache Spark didn’t invent any new data structure or algorithm , it just the reused the clas...

Read story on Medium →
Medium apache-flinkstreaming
Jul 28, 2026

Most Flink Decisions Have Nothing to Do With Flink

I was building a streaming pricing engine for vacation rental apartments. The system ingests operational costs via CDC from PostgreSQL through Debezium into Kafka, market reference prices through K...

Read story on Medium →
Medium data-engineeringapache-flink
Jul 17, 2026

Why Serverless Fails at Stream Processing

There’s a pattern that works really well for building data lakes on AWS: Kinesis captures events, Lambda processes them, S3 stores them, Glue transforms them, Athena queries them. It’s cheap, it sc...

Read story on Medium →
Medium distributed-systemsstream-processing
Jun 23, 2026

Streaming is Not Fast Batch. Here are Five Principles That Prove it

Some basic principles according to Kleppmann’s “Designing Data-Intensive Applications” book Most engineers encounter streaming for the first time through a familiar lens: “It’s like batch, but fast...

Read story on Medium →
Medium data-engineeringapache-spark
Jun 12, 2026

How I Diagnosed a 2.5x Spark Regression Caused by Data Growth — Not Code

A systematic investigation into why a pipeline doubled its runtime overnight, and the Iceberg internals that made it inevitable. A production pipeline on AWS Glue went from 15 minutes to 37 overnig...

Read story on Medium →
Medium sqlanalyitcs
May 30, 2026

Why We Adopted dbt — And What It Actually Changed in Our Data Pipeline

There’s a moment in every data team’s life when you open a dashboard, see a number that doesn’t look right, and realise you have no idea which of your fifteen scripts is responsible for it. That mo...

Read story on Medium →

Morad Abaz

Data Engineer working with Spark, Iceberg, dbt, and AWS Glue Lakehouses.

Navigation

Home Medium Series Articles & Code Quizzes About Me

Connect

LinkedIn (Morad Abbou Azaz) Medium (@moradabaz) GitHub (@moradisten)

© 2026 Morad Abaz. Hosted on GitHub Pages.