Configure Airflow dataset-aware (data-driven) scheduling to trigger DAGs on upstream data availability

domain: airflow.apache.org · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Define Dataset objects using URI strings that represent logical data assets (e.g., Dataset('s3://bucket/prefix/') or Dataset('snowflake://table/my_table')); URIs are opaque identifiers—Airflow does not validate or connect to them.
  2. In the producing DAG, annotate the outlet task with outlets=[my_dataset] so that Airflow records a dataset update event each time the task completes successfully.
  3. In the consuming DAG, replace the schedule parameter with schedule=[my_dataset] (a list of Dataset objects); the DAG will be queued to run after all listed datasets have been updated since the last run.
  4. Use the Airflow UI Datasets view to inspect the dataset dependency graph, see when each dataset was last updated, and identify which DAGs produce or consume each dataset.
  5. Combine dataset scheduling with time-based constraints by using DatasetOrTimeSchedule (Airflow 2.9+) to trigger on whichever comes first: a dataset update or a cron schedule.
  6. To test dataset-triggered runs locally, manually emit a dataset update event via the Airflow REST API dataset events endpoint.

Known gotchas

Related routes

Implement Airflow 3 data-aware scheduling with explicit Dataset producers and consumers to chain DAGs without polling sensors
airflow.apache.org · 5 steps · unrated
Configure Airflow pools and priority weights to control concurrency and prioritize critical DAG tasks
airflow.apache.org · 6 steps · unrated
Configure Airflow 3 DAG bundles to version and source DAGs from multiple repositories
data-engineering · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans