프로덕션 파이프라인 만들기

Python으로 배우는 Apache Airflow 입문

Mike Metzger

Data Engineer

DAG 및 태스크 실행

특정 태스크를 커맨드라인에서 실행하려면:

airflow tasks test <dag_id> <task_id> <date>

전체 DAG를 실행하려면:

airflow dags trigger --logical-date <date> <dag_id>
Python으로 배우는 Apache Airflow 입문

태스크 복습

  • @task - 파이썬 함수를 Airflow 태스크로 지정
  • @task.bash - bash 명령어 결과를 Airflow 태스크 결과로 반환
  • @task.branch - DAG 내 런타임 분기를 제공하는 브랜칭 연산자
  • FileSensor - filepath 인자가 필요하며, mode 또는 poke_interval 속성이 필요할 수 있음
Python으로 배우는 Apache Airflow 입문

템플릿 사용 시 유의사항

  • Airflow의 많은 객체에서 템플릿을 사용할 수 있습니다
  • 일부 필드는 템플릿 문자열을 지원하고, 그렇지 않은 필드도 있습니다
  • 기본 제공 문서를 통해 확인할 수 있습니다:
  1. python3 인터프리터 실행
  2. 필요한 라이브러리 가져오기 (예: from airflow.sdk import dag, task)
  3. 프롬프트에서 help(<Airflow object>) 실행, 예: help(task)
  4. template_fields를 참조하는 줄을 찾습니다. 템플릿을 사용할 수 있는 인자가 명시됩니다.
Python으로 배우는 Apache Airflow 입문

템플릿 문서 예시

Airflow 객체에 대한 python3 help 출력을 보여주는 터미널

Airflow help에서 template_fields 줄을 강조한 터미널 출력

Python으로 배우는 Apache Airflow 입문

Airflow 활용

워크플로 생성, 예약 및 모니터링 일러스트레이션

Apache Airflow 로고

Python으로 배우는 Apache Airflow 입문

연습해 봅시다!

Python으로 배우는 Apache Airflow 입문

Preparing Video For Download...