@task.bash로 BashOperator 정의하기
Bash 태스크를 사용하면 특정 셸 명령어나 스크립트를 Airflow 워크플로우에 추가할 수 있습니다. Airflow를 처음 도입할 때 출발점으로 삼기에 아주 좋은 방법입니다.
지금까지는 데이터 분석 팀에 데이터를 전달하기 전에 cleanup.sh라는 스크립트를 수동으로 실행해 데이터를 정리해 왔습니다. 그런데 처리해야 할 태스크가 점점 늘어나면서, 모든 작업을 수동으로 실행하는 것은 물론 오류 처리나 재시도 관리까지 감당하기가 어려워졌습니다. 이제 이 스크립트를 Airflow 오퍼레이터로 구현해 보겠습니다.
Airflow의 dag 및 task 객체는 이미 임포트되어 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 Apache Airflow 입문
연습 안내
@task.bash데코레이터를 사용하여 태스크를 정의하세요.- 메서드 이름은
cleanup_task로 지정하세요. - 태스크가
cleanup.sh를 반환하도록 작성하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
@dag(
dag_id='analytics_dag',
start_date=datetime(2026,1,1)
)
def analytics_dag():
# Specify a Bash task
@____
def ____():
return '____'
# Run the task
cleanup_task()
analytics_dag()