시작하기무료로 시작하기

@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()
코드 편집 및 실행