728x90
반응형

airflow 에서 DAG 를 생성할 때 사용되는 default arguments 에 대해서 정리해보려고 한다.

 

Default Arguments

default_args 에 대해서 이해하기 위해 airflow concept 에서 다음과 같이 확인할 수 있었다.

 

https://airflow.apache.org/docs/apache-airflow/2.6.2/core-concepts/dags.html#default-arguments

 

DAGs — Airflow Documentation

 

airflow.apache.org

 

설명을 해석해보면,
DAG 안에 있는 많은 Operator 들이 같은 설정을 해주는 경우가 있는데 모든 Operator 들에게 개별적으로 지정하는 대신 DAG 를 생성할 때 default_args 를 전달하게 되면 모든 Operator 에 자동으로 적용된다고 한다.

 

간단하게 말해서 DAG 안에서 공통적으로 사용되는 arguments 라고 생각할 수 있다.

 

아래의 예제를 확인하면 조금 더 쉽게 이해할 수 있을 것 같다.

default_args 에 retries 를 2 로 설정하였는데 op 라는 BashOperator 에서 argument 를 불러올 수 있다.

import pendulum

with DAG(
    dag_id="my_dag",
    start_date=pendulum.datetime(2016, 1, 1),
    schedule="@daily",
    default_args={"retries": 2},
):
    op = BashOperator(task_id="hello_world", bash_command="Hello World!")
    print(op.retries)  # 2

 

 

 

728x90
반응형
복사했습니다!