my_dag = DAG("my_dag_name")
op = DummyOperator(task_id="task", dag=my_dag)
DAG은 task 없이 실행할 수 없다.
보통 task는 다른 task와 의존성을 가지고 있고 <<, >> 연산자를 통해 의존성을 표현한다.
d1 >> [d2, d3]
d4 >> d3
set_upstream, set_downstream을 통해서도 <<, >> 연산자를 이용해 의존성을 표현한 것과 똑같은 결과를 낼 수 있다.
d1.set_downstream([d2, d3])
d3.set_upstream(d4)
task가 서로 의존해야 한다면 cross_downstream을 사용하여 표현할 수 있다.
# [op1, op2] >> op3
# [op1, op2] >> op4
cross_downstream(from_tasks=[d1, d2], to_tasks=[d3, d4])
chain함수를 이용해서 의존성을 표헌할 수도 있다.
# op1 >> op2 >> op3 >> op4
chain(op1, op2, op3, op4)
# op1 >> op2 >> op4 >> op6
# op1 >> op3 >> op5 >> op6
chain(op1, [op2, op3], [op4, op5], op6)