GuideBeginner

Airflow And Declarative Orchestration

Picks up directly from `python-for-data-engineering-guide`: same Kiosko case, same `kiosko_pipeline` package, already installable, tested, and equipped with code-level retries. What changes is who decides when and how the pipeline runs — until now a human decided by typing a command; from this guide on, Apache Airflow decides. You learn the anatomy of a DAG with the TaskFlow API (`@dag`/`@task`), wrapping the already-tested functions from `kiosko_pipeline` without rewriting their logic, `logical_date` as the orchestrator's own clock (never `datetime.now()`), scheduler-managed retries as a distinct, complementary layer to code-level retries, sensors for waiting on data that hasn't arrived yet, backfill with Airflow's real CLI, and DAG observability through its UI and logs. Everything runs locally with `airflow standalone`, no Docker, no cloud account. The guide honestly names market alternatives (Dagster, Prefect) without teaching them: what's transferable is idempotency, DAGs, scheduling, retries, backfill, sensors, and observability — the specific vendor is what expires. It closes with a capstone that assembles Kiosko's complete DAG: scheduled, with a sensor, per-task retries, and backfillable across a full week.

64
lessons
8
modules
English · Spanish
available in
Yes
certificate
Free
access
NIEVA

Outcomes

What you'll be able to do

  • Install Airflow locally with `uv`/pip, run `airflow standalone`, and write your first DAG with the TaskFlow API
  • Wrap already-tested `kiosko_pipeline` functions as `@task`s, using XComs as a metadata bus (never a bus for full datasets)
  • Schedule a DAG (`schedule`, `catchup`) and use `logical_date` as the source of truth for each run's business date, never the system clock
  • Distinguish code-level retries (`tenacity`, already handled in the previous guide) from scheduler-managed retries (`retries`, `retry_delay`), and configure both layers
  • Build a sensor (`poke`/`reschedule` mode, plus the deferrable variant with the triggerer) that waits for a file that hasn't arrived yet before triggering extraction
  • Run a backfill with Airflow's real CLI (`airflow backfill create`) over a date range, relying on the overwrite-partition pattern already built into the package
  • Read Airflow's UI (Grid/Graph) and a failed task's logs the way someone operating a production pipeline would, and trigger dbt as just another task in the DAG
  • Assemble a complete DAG — scheduled, with a sensor, per-task retries, idempotent — and verify that orchestration doesn't change the pipeline's result, only how and when it's produced

Before you start

What you need to bring

It's for you if...

  • Anyone who already completed `python-for-data-engineering-guide` (or has an equivalent tested, installable pipeline package) and needs to set it running on its own, on a schedule
  • Data engineers still running pipelines by hand or with a plain cron job, with no managed retries or real observability
  • Devs preparing for roles where Airflow is the de facto standard (it shows up in most job postings in the field)
  • Anyone who needs to understand the difference between code-level and infrastructure-level retries before operating a pipeline in production

Requirements and materials

  • `python-for-data-engineering-guide` completed (or equivalent: an installable, tested Python package with structured logging and code-level retries)
  • Basic comfort with the terminal and installing Python packages (`uv`/pip)
  • A personal laptop capable of installing and running Apache Airflow locally (`airflow standalone`) — everything runs locally at $0, no Docker, no cloud account

Content

The syllabus, module by module

Open any of them to see its lessons.

Common questions

What people usually ask

Start whenever you like

Reviews

What students say

These reviews are from enrolled students who completed at least 50% of the course. We moderate reviews only on content grounds (spam, offensive language, personal data), never for being critical or negative.

No approved reviews yet.

Be the first to share your experience!