[Airflow] - Airflow DAG Debuging 하는 방법
Debuging 방법
- Airflow Executor를 DebugExecutor 변경
- IDE Tool에서 enviorment 설정을 통해 Executor를 DebugExecutor로 변경할 수 있다.
- airflow.cfg 파일에는 별다른 내용을 추가하지 않아도 된다.
- IDE Tool에서 enviorment 설정을 통해 Executor를 DebugExecutor로 변경할 수 있다.
- DAG 아래에 코드 추가
- DAG아래 아래의 코드를 추가한다.
1 2 3 4 5 6 7
if __name__ == "__main__": from airflow.utils.state import State KST = timezone(timedelta(hours=9)) start_date=datetime(year=2022, month=5, day=1, hour=21, minute=0, second=0, tzinfo=KST) end_date=datetime(year=2022, month=6, day=1, hour=21, minute=0, second=0, tzinfo=KST) dag.clear(task_ids=['transform_load']) dag.run(start_date = start_date, end_date = end_date, ignore_task_deps=True)
- dag.clear() 이후 dag.run()으로 실행 가능.
- run에는 다양한 인자를 설정할 수 있으니 참조.
- task filtering을 하려면 clear 함수에서 task_ids에 테스트할 task만 기입해주면 된다.
- ignore_task_deps를 True로 하면 dag안에 있는 모든 task에 대해서 test가 가능한 것 같다.
- DAG아래 아래의 코드를 추가한다.
- 이후 IDE tool에서 디버깅을 하면 정상적으로 디버깅할 수 있다.
참조
- Visual Studio Code Docs : https://code.visualstudio.com/docs/editor/debugging
- Airflow - Debug Executor : https://airflow.apache.org/docs/apache-airflow/stable/executor/debug.html#debug-executor
댓글남기기