ETL = Extract → Transform → Load. Clean and reshape *before* the warehouse. Classic when warehouses were expensive/weak.
ELT = Extract → Load → Transform. Land raw (or lightly typed) data first, then transform with SQL/dbt/Spark *inside* the platform.
ETL: source -> Python/Spark transform -> warehouse (curated only) ELT: source -> warehouse/lake raw -> dbt/SQL models -> marts
Tiny example
Currency conversion on orders:
- ETL: job joins FX rates, writes only converted amounts
- ELT: load
raw.orders+raw.fx; dbt buildsfct_orderswith conversion logic (and you can rebuild if FX logic changes)
Why ELT is common now
Cloud warehouses scale; keeping raw enables reprocessing; analytics engineers own SQL transforms.
Interview tip: Spell both acronyms, give one example each, say modern analytics often ELT + dbt while heavy pre-warehouse prep may still be ETL.