본문 바로가기
TIL _Today I Learned/2025.01

[DAY 115] 최종 프로젝트_ Airflow 개념

by gamdong2 2025. 1. 2.
[천재교육] 프로젝트 기반 빅데이터 서비스 개발자 양성 과정 9기
학습일 : 2025.01.02

📕 프로젝트 작업 내역

  • Airflow 란?
  • 핵심 개념
  • 프로젝트 적용 아이디어

 

📗 수행 결과

1. Airflow 란?

1) 정의

  • Airflow는 데이터 파이프라인 작업을 자동화하고 스케줄링할 수 있는 워크플로우 오케스트레이션 도구
  • 작업을 정의하고 그 실행 순서를 그래프(DAG)로 구성함으로써, 복잡한 데이터 처리 흐름을 체계적으로 운영할 수 있게 해줌

2) 장점

  • 작업 흐름을 코드로 관리할 수 있음 (Python 기반)
  • 작업 간 의존성을 명확하게 설정할 수 있음
  • 정기 실행 / 조건부 실행 / 재실행 등 스케줄 관리가 쉬움
  • Web UI로 작업 상태 시각화 및 모니터링 가능

 

2. 핵심 개념

구성 요소 설명
DAG
(Directed Acyclic Graph)
전체 작업 흐름(파이프라인)의 구조. 작업의 순서를 정의함
Task DAG 안에 들어가는 개별 실행 단위
(ex : 데이터 전처리, 모델 학습 등)
Operator 특정 유형의 작업을 정의하는 도구
(ex : PythonOperator, BashOperator, DockerOperator 등)
Scheduler DAG의 실행 시점을 예약하고, 정해진 주기로 실행함
Web UI DAG 목록, 실행 로그, 실패 여부 등을 직관적으로 확인 가능

 

3. 프로젝트 적용 아이디어

  • YOLO/OCR 모델을 주기적으로 학습하고 자동 배포하기 위해 Airflow를 도입
  • 단계별 작업을 Task로 분리하고, 전처리 → 학습 → 모델 저장의 흐름을 DAG으로 구성
  • PythonOperator를 사용해 S3 데이터 상태 확인 및 전처리 실행
  • DockerOperator로 최신 학습 이미지를 ECR에서 Pull하여 모델 학습 실행
  • 학습 완료 후 S3에 모델 저장 및 버전 관리

 

 

📙 내일 일정

  • MLflow 개념 학습