# ETL vs ELT: Where the Transformation Happens

> The difference between transforming before or after loading, why cloud warehouses pushed teams to ELT, and when ETL still wins.

- Source: https://akshaythakare.com/notes/etl-elt/etl-vs-elt
- Topic: ETL / ELT
- Level: beginner
- Reading time: 2 min
- Tags: etl, elt, architecture, interview
- Updated: 2026-10-11

## The difference is the order

```text
ETL:  source → extract → TRANSFORM (Spark, Python) → load → warehouse
ELT:  source → extract → load raw → TRANSFORM inside the warehouse (SQL, dbt)
```

## Why ELT became popular

- Cloud warehouses separate storage and compute, so storing raw data is cheap and scaling SQL is easy.
- Raw data stays available, so transformations can be rebuilt after a logic change.
- SQL and tools like dbt let analysts own transformations with tests and version control.

## When ETL still makes sense

| Situation | Why transform first |
| --- | --- |
| Sensitive fields (PII) | Mask or drop before it lands anywhere |
| Huge, messy or unstructured data | Spark is cheaper for parsing and heavy cleaning |
| Strict contracts | Reject bad data before it reaches consumers |
| Non-SQL logic | ML features, complex parsing, external API enrichment |

## In practice: both

Most modern pipelines are hybrid: a light ETL step (validate, mask, convert to Parquet), then ELT in the warehouse for modeling.

> **Tip: Interview framing**
>
> "ETL vs ELT is about where transformation runs. I keep raw data replayable, do sensitive or heavy cleaning before load, and model inside the warehouse."
