Data engineering for beginners: pipelines, ETL vs ELT and clean data
What data engineers do, how a data pipeline works, the difference between ETL and ELT, and a small Python pipeline you can build this week.
Data engineering is the plumbing behind every dashboard and AI model: it moves data from where it is created to where it is useful, cleaned and ready to trust.
What is a data pipeline?
A pipeline is a repeatable series of steps that takes raw data from sources (apps, files, APIs), processes it, and delivers it to a destination such as a database, data warehouse or report, ideally on a schedule without anyone copy-pasting.
ETL vs ELT
| ETL | ELT | |
|---|---|---|
| Order | Extract → Transform → Load | Extract → Load → Transform |
| Where cleaning happens | Before loading, in a separate step or tool | Inside the destination (e.g. a cloud data warehouse) |
| Good for | Smaller data, strict rules on what gets stored | Large data, flexible analysis, modern cloud warehouses |
Build a mini ETL pipeline in Python
import pandas as pd, sqlite3
# Extract
raw = pd.read_csv("data/orders_2026-10.csv")
# Transform
raw["order_date"] = pd.to_datetime(raw["order_date"])
clean = (raw.drop_duplicates(subset="order_id")
.dropna(subset=["amount"])
.assign(amount=lambda d: d["amount"].round(2)))
# Load
with sqlite3.connect("warehouse.db") as db:
clean.to_sql("orders", db, if_exists="append", index=False)
Schedule it with Windows Task Scheduler or cron, and you have a working pipeline.
Habits of good data engineering
- Idempotent runs: running a job twice shouldn't create duplicates.
- Checks: fail loudly if row counts drop suddenly or key columns are empty.
- Documentation: what each table means, where it comes from, how often it updates.
- Version control: keep pipeline code in Git, in a clean project structure.
Data comes in through data acquisition, and it is stored in a database.
Join the discussion
Have a question or a tip to add? Comments are reviewed before they're published.