在 Airflow 中,任务和操作的顺序是按照 DAG(有向无环图)的依赖关系确定的。
首先,定义 DAG,并定义各个任务和操作。然后,使用 set_upstream()
和 set_downstream()
方法来指定任务之间的依赖关系。可以用 >>
和 <<
符号来快捷设置依赖。
示例代码如下:
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta
# 定义 DAG
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2021, 1, 1),
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
dag = DAG('my_dag', default_args=default_args, schedule_interval=timedelta(days=1))
# 定义任务
task1 = BashOperator(
task_id='task1',
bash_command='echo "Hello World"',
dag=dag,
)
task2 = BashOperator(
task_id='task2',
bash_command='echo "Task 2"',
dag=dag,
)
task3 = BashOperator(
task_id='task3',
bash_command='echo "Task 3"',
dag=dag,
)
# 设置任务依赖关系
task1 >> task2
task2 >> task3
在上述示例中,三个任务 task1
、task2
、task3
形成了 DAG,并按照顺序依次执行。任务之间的依赖关系为 task1
-> task2
-> task3
。在 DAG 运行时,Airflow 将按照该顺序依次执行任务。