TASK 연결하기

우상욱·2024년 3월 19일

Airflow Master Class

목록 보기
5/24

TASK 연결 방법1


  • TASK 연결 방법 종류
    1) >>, << 사용하기 (Airflow 공식 추천 방식)
    2) 함수 사용하기

복잡한 Task는 어떻게 연결하는가?

코드는 이런 식으로 가장 기본적으로 구현할 수 있습니다.

t1 >> t2
t1 >> t3
t2 >> t4
t3 >> t4
t5 >> t4

하지만 조금 더 명시적으로 표현하기 위해서 이런 방식을 사용할 수 있습니다.

t1 >> [t2, t3] >> t4 << t5

만약에 조금 더 꺾새의 방향을 하나로만 하고 싶다면,

t1 >> [t2, t3] >> t4
t5 >> t4

t1 >> [t2, t3] >> t4
t5 >> t4
[t4,t7] >> t6 >> t8

실습


from airflow import DAG
import pendulum
import datetime
from airflow.operators.empty import EmptyOperator

with DAG(
    dag_id="dags_conn_test",
    schedule=None,
    start_date=pendulum.datetime(2023, 3, 1, tz="Asia/Seoul"),
    catchup=False,
) as dag:
    # EmpteyOperator는 아무 동작도 하지 않습니다.
    t1 = EmptyOperator(task_id="t1")
    t2 = EmptyOperator(task_id="t2")
    t3 = EmptyOperator(task_id="t3")
    t4 = EmptyOperator(task_id="t4")
    t5 = EmptyOperator(task_id="t5")
    t6 = EmptyOperator(task_id="t6")
    t7 = EmptyOperator(task_id="t7")
    t8 = EmptyOperator(task_id="t8")

    t1 >> [t2, t3] >> t4
    t5 >> t4
    [t4, t7] >> t6 >> t8

웹에서 파싱된 DAG로 부터, Graph를 확인해봅니다.

DAG 관련 공식문서


https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/dags.html

다양한 DAG 작성법이 있습니다.

  • 꺾새로 TASK를 표현하는 방법
  • 함수로 작성하는 방법
profile
데이터엔지니어

0개의 댓글