Apache Airflow

[Airflow] Trigger

비번변경 2022. 11. 23. 19:20

Trigger

Airflow는 기본적으로 스케쥴링을 통해 Dag를 실행할 수 있는데, 스케쥴링을 통하지 않고 즉시 DAG run을 만들어 실행하는 방법을 Trigger라고 한다.

 

Trigger는 Web UI 또는 CLI를 통해 실행할 수 있다.

 

 

Web UI

DAG의 오른쪽 상단의 실행 버튼을 클릭하여 트리거할 수 있다. Trigger DAG를 선택하면 매개변수 없이 실행한다.

 

만약 전달해야 하는 매개변수가 있다면 Trigger DAG w/ config를 선택한 후, JSON 형식으로 전달할 데이터를 작성한다.

 

 

CLI

CLI로 트리거할 때는 Web UI를 사용할 때와 다르게 실행 시점을 지정할 수도 있다.

airflow dags trigger [-h] [-c CONF] [-e EXEC_DATE] [-r RUN_ID] [-S SUBDIR]
                     dag_id
                     
# 예시
airflow dags trigger \
    -e 2022-10-08T02:00:00 \
    -r scheduled__2022-10-08T02:00:00+00:00 \
    test_dag

또한 -r 옵션을 이용해 DAG run을 식별할 정보를 추가로 지정할 수 있다. 참고로 backfill과 같이 수동으로 생성한 DAG run은 클리어 시 자동으로 재실행되지 않는데, scheduled로 지정하면 clear 시 자동으로 재실행된다.

 

매개변수 전달이 필요할 때는 -c 옵션 뒤에 전달할 데이터를 JSON 문자열로 작성한다.

airflow dags trigger \
    --conf '{"conf1": "value1"}' \
    example_parameterized_dag

 

 

참고 문서

https://airflow.apache.org/docs/apache-airflow/stable/cli-and-env-variables-ref.html#trigger

https://heumsi.github.io/apache-airflow-tutorials-for-beginner/getting-started/04-running-a-dag/