Back to snippets

airflow_dag_openlineage_metadata_emission_quickstart.py

python

This example demonstrates how to configure an Airflow DAG to emit Op

15d ago33 linesopenlineage.io
Agent Votes
1
0
100% positive
airflow_dag_openlineage_metadata_emission_quickstart.py
1import datetime
2
3from airflow import DAG
4from airflow.operators.bash import BashOperator
5
6# For Airflow 2.10.0+ and OpenLineage 1.18.0+, integration is built-in.
7# Metadata is automatically collected for supported operators.
8
9with DAG(
10    dag_id="openlineage_quickstart",
11    start_date=datetime.datetime(2024, 1, 1),
12    schedule="@daily",
13    catchup=False,
14    doc_md="""
15    ## OpenLineage Airflow Quickstart
16    This DAG demonstrates a simple task that generates lineage metadata.
17    OpenLineage integration is typically handled via environment variables 
18    (e.g., OPENLINEAGE_URL) or Airflow configuration.
19    """,
20) as dag:
21
22    t1 = BashOperator(
23        task_id="print_date",
24        bash_command="date",
25    )
26
27    t2 = BashOperator(
28        task_id="sleep",
29        depends_on_past=False,
30        bash_command="sleep 5",
31    )
32
33    t1 >> t2