Skip to content
LakeBench
ProblemsCommunityPricing
Sign inStart practicing
Back
  1. Home
  2. Interview prep
  3. ETL vs ELT

Pipelines & scenarios · Core Pipeline Concepts

ETL vs ELT

Easypipe-01
ETLELTpipelineswarehousedbt

Question

What is the difference between ETL and ELT?

Solution

ETL = Extract → Transform → Load. You pull data from sources, clean and reshape it in a middle layer (Python, Spark, Informatica), then load curated data into the warehouse.

ELT = Extract → Load → Transform. You load raw (or lightly typed) data into the warehouse/lake first, then transform inside the destination with SQL, dbt, or Spark SQL.

ETL path:
  Postgres / APIs / files
        |
        v
  transform job (Spark / Python)
        |
        v
  warehouse (only clean tables)

ELT path:
  Postgres / APIs / files
        |
        v
  warehouse / lake  RAW zone
        |
        v
  SQL / dbt / Spark SQL
        |
        v
  staging → marts (BI)

Tiny example

Daily orders.csv lands.

  • ETL: a Python job joins FX rates, drops bad rows, then inserts into fct_orders.
  • ELT: Fivetran/Airbyte loads raw.orders; dbt builds stg_orders and fct_orders in Snowflake.

Why ELT became popular

Cloud warehouses scale compute. Keeping raw history lets you reprocess when logic changes. Analytics engineers work in SQL next to the data.

When ETL still wins

Heavy ML feature prep, PII scrubbing before land, or a warehouse that cannot afford huge raw dumps.

Interview tip: Define both acronyms, give one concrete example each, then say: "Modern analytics stacks are often ELT with dbt; constrained or pre-clean use cases still use ETL."

PreviousNext