Task Group
- Airflow에서 DAG의 Task를 논리적으로 그룹화하여 관리와 시각화를 개선하는 방법
- DAG의 복잡성을 줄이고 관련 Task를 하나의 TaskGroup으로 묶어 재사용성 및 가독성 향상
주요 특징 및 장점
- 시각적 그룹화 : Airflow UI에서 TaskGroup이 상자 형태로 표시되어 DAG 구조 가독성 향상
- 코드 재사용성 향상 : 반복적인 작업이나 관련 Task를 그룹화하여 코드 중복 감소
- 네임스페이스 관리 : TaskGroup 내부의 Task는 고유한 네임스페이스를 가져 이름 충돌 방지
주요 매개변수
- group_id : TaskGroup의 고유 ID로, Task 이름의 접두사
- tooltip : UI에서 TaskGroup에 마우스를 올릴 때 표시될 설명
- prefix_group_id : Task 이름에 group_id를 포함할지 여부, 기본값 True
예시
from airflow import DAG
from airflow.utils.task_group import TaskGroup
from airflow.operators.dummy import DummyOperator
from datetime import datetime
with DAG('task_group_example', start_date=datetime(2024, 11, 19), schedule_interval=None) as dag:
start = DummyOperator(task_id='start')
with TaskGroup('group1') as group1:
task1 = DummyOperator(task_id='task1')
task2 = DummyOperator(task_id='task2')
task3 = DummyOperator(task_id='task3')
task1 >> task2 >> task3
with TaskGroup('group2') as group2:
task4 = DummyOperator(task_id='task4')
task5 = DummyOperator(task_id='task5')
task4 >> task5
end = DummyOperator(task_id='end')
start >> group1 >> group2 >> end
Web UI
'데이터 > Airflow' 카테고리의 다른 글
[Airflow] 9. BranchPythonOperator? (1) | 2024.11.19 |
---|---|
[Airflow] 8. Sensor? (0) | 2024.11.19 |
[Airflow] 7. DAG Trigger? (0) | 2024.11.19 |
[Airflow] 6. Slack Alert (0) | 2024.11.18 |
[Airflow] 5. Backfill? (1) | 2024.11.12 |