Configure the OpenLineage Airflow provider to emit lineage events automatically from Airflow 3 DAGs

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

Steps

  1. Install the provider: pip install apache-airflow-providers-openlineage; the provider integrates at the operator level and emits START, COMPLETE, and FAIL OpenLineage run events for each task execution in supported operators
  2. Configure the OpenLineage transport in airflow.cfg or via environment variable: set AIRFLOW__OPENLINEAGE__TRANSPORT to a JSON string like '{"type": "http", "url": "http://marquez:5000", "endpoint": "api/v1/lineage"}' for HTTP transport, or 'file' for local debugging
  3. Optionally set AIRFLOW__OPENLINEAGE__NAMESPACE to a string identifying your Airflow environment in the lineage backend; this namespaces all emitted job names and helps distinguish events from multiple Airflow instances writing to the same backend
  4. Airflow 3's OpenLineage provider instruments supported hooks automatically; for custom operators, annotate input datasets by returning a list of Dataset(namespace=..., name=...) objects from a get_openlineage_facets_on_start() method on the operator
  5. Verify that events are reaching the backend by checking the Marquez (or other backend) API for the jobs and runs emitted by a recent DAG run; cross-reference run IDs with Airflow task instance IDs via the parentRunFacet in Spark sub-tasks

Known gotchas

Related routes

Configure Airflow 3 DAG bundles to version and source DAGs from multiple repositories
data-engineering · 6 steps · unrated
Set up OpenLineage with the dbt integration to emit dataset-level lineage events to Marquez or another compatible backend
openlineage.io · 5 steps · unrated
Configure Airflow 2.x REST API authentication and use it to programmatically manage DAG pausing, unpausing, and triggering from an external system
airflow.apache.org · 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