[Airflow] DAG - 2

jake·2022년 8월 30일
0

DAG 선언하기

class를 이용해서 선언

my_dag = DAG("my_dag_name")
op = DummyOperator(task_id="task", dag=my_dag)

DAG은 task 없이 실행할 수 없다.

task 의존성 표현

<< >>

보통 task는 다른 task와 의존성을 가지고 있고 <<, >> 연산자를 통해 의존성을 표현한다.

d1 >> [d2, d3]
d4 >> d3

set_upstream, set_downstream

set_upstream, set_downstream을 통해서도 <<, >> 연산자를 이용해 의존성을 표현한 것과 똑같은 결과를 낼 수 있다.

d1.set_downstream([d2, d3])
d3.set_upstream(d4)

cross_downstream

task가 서로 의존해야 한다면 cross_downstream을 사용하여 표현할 수 있다.

# [op1, op2] >> op3
# [op1, op2] >> op4
cross_downstream(from_tasks=[d1, d2], to_tasks=[d3, d4])

chain

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)

0개의 댓글