Introduction to Apache Airflow in Python
Hands-on Apache Airflow 3 course covering Dags, scheduling, sensors, monitoring, branching, and a sales ETL pipeline project in about 4 hours.
A data pipeline is an automated series of steps that moves data from where it is created, such as apps, databases and APIs, to where it is used, such as a data warehouse, dashboard or machine learning model. Along the way it collects, cleans, transforms and checks the data, and it runs on a schedule or in response to events, so people never have to copy files by hand.
Every dashboard you have ever trusted sits on top of a pipeline. When a sales report refreshes at 7 a.m. with yesterday's numbers, a pipeline extracted those orders, combined them with product and customer data, calculated totals and loaded the result somewhere the BI tool could read it. Understanding pipelines is the core of data engineering, and it helps analysts know why numbers are late, missing or wrong.
Without a pipeline, someone exports CSV files, pastes them into a spreadsheet and fixes the same problems every week. That approach breaks as soon as data grows, sources multiply or the person goes on holiday. A pipeline makes the process:
Most pipelines, whatever tools they use, share the same building blocks.
| Component | What it does | Typical tools |
|---|---|---|
| Sources | Where data originates: application databases, SaaS tools, event streams, files, APIs | PostgreSQL, MySQL, Salesforce, Google Analytics, Kafka |
| Ingestion | Copies data out of the sources | Fivetran, Airbyte, custom Python scripts, change data capture |
| Storage | Where raw and processed data lands | Data warehouse (Snowflake, BigQuery), data lake (S3), lakehouse |
| Transformation | Cleans, joins, aggregates and models the data | SQL, dbt, Spark, pandas |
| Orchestration | Schedules steps and handles dependencies and retries | Airflow, Dagster, Prefect |
| Quality and monitoring | Tests data and alerts on failures or anomalies | dbt tests, Great Expectations, built-in alerts |
| Destinations | Where data is consumed | BI dashboards, ML models, reverse ETL into business tools |
The order of extract, load and transform is a design choice. Traditional ETL transforms data before loading it. Modern cloud stacks mostly use ELT, loading raw data first and transforming it inside the warehouse. See ETL vs ELT for the trade-offs.
An online store wants a daily dashboard of revenue by product category and marketing channel.
raw schema in the warehouse. Keeping raw data means you can reprocess it later if the logic changes.If a test fails, the dashboard keeps showing the last good data instead of silently publishing wrong numbers. That is the difference between a pipeline and a script.
| Batch | Streaming | |
|---|---|---|
| How it runs | On a schedule: hourly, nightly | Continuously, event by event |
| Latency | Minutes to hours | Seconds or less |
| Typical uses | Reporting, finance, most analytics | Fraud detection, live inventory, real-time personalization |
| Complexity and cost | Lower | Higher |
| Common tools | SQL, dbt, Spark, Airflow | Kafka, Flink, Spark Structured Streaming |
Most companies run mostly batch pipelines and add streaming only where a delay would cost money. Always ask whether the business really needs real-time data before building it.
For the trade-offs in more depth, read Batch vs Streaming Data Processing.
Data engineering interviews often ask you to design a pipeline: "How would you get data from our app database into a dashboard every morning?" Strong answers walk through sources, ingestion, storage, transformation, orchestration and testing. They also explain choices such as batch vs streaming, ETL vs ELT and how to handle late or duplicate data. Analysts may be asked simpler versions, such as why a report shows different numbers from the source system.
To stop bad data at each checkpoint of the pipeline, read Data Quality Testing.
If your pipeline needs real-time events, What Is Apache Kafka? explains topics, partitions and consumers.
Introduction to Data Engineering (DataCamp) is a gentle overview of pipelines and the data engineer's role. Introduction to Airflow in Python teaches orchestration hands-on, and ETL and Data Pipelines with Shell, Airflow and Kafka (IBM) covers both batch and streaming. Then read Airflow vs Dagster vs Prefect and Data Warehouse vs Data Lake vs Lakehouse. Browse all Data Pipelines & ETL courses.
Is a data pipeline the same as ETL? ETL is one type of data pipeline: extract, transform, load. "Data pipeline" is the broader term, which also covers ELT, streaming and pipelines that feed machine learning models or other applications.
Do data analysts build pipelines? Increasingly, yes. Analysts and analytics engineers often own the transformation layer with SQL and dbt, while data engineers handle ingestion, infrastructure and orchestration.
What language is used to build pipelines? SQL and Python cover most work. SQL handles transformations in the warehouse, and Python handles ingestion scripts, orchestration with Airflow or Dagster, and custom logic. Spark is used when data is too large for a single machine.
How do I practice building a pipeline? Pick a public API such as weather or exchange rates, load daily data into a free database such as PostgreSQL or DuckDB, transform it with SQL, schedule it, and add a few data tests. It makes a strong portfolio project.
A data pipeline is the automated path from raw data to trusted, usable data: sources, ingestion, storage, transformation, orchestration and quality checks. Most business pipelines are batch and ELT-based, built with SQL, Python and an orchestrator. A good pipeline is defined less by its tools than by being repeatable and well tested, and by failing loudly instead of silently.
Hands-on Apache Airflow 3 course covering Dags, scheduling, sensors, monitoring, branching, and a sales ETL pipeline project in about 4 hours.
A four-hour intermediate DataCamp course that walks through databases, parallel processing, Airflow scheduling, and building a working ETL pipeline.