Ethan's Values
Airflow 본문
Airflow(에어플로우)는 뭘까?
airflow란 AIrBnB 에서 만든 Workflow management tool이다.
예) ETL 경우, Extraction -> Tranfromation -> Loading 작업 흐름이 존재하는데, 이런 흐름을 관리하는 툴이 바로 airflow다.
Airflow는 크게 아래 4가지 구성요소
- Webserver
- Scheduler
- Executor
- Workers
workflow 작성은 아래 개념을 사용
- DAG(Directed Acyclic Graph)
요소1. Webserver
Airflow의 로그를 보여주거나 스케쥴러에 의해 생성된 DAG의 목록, TASK 상태 등을 시각화 해서 보여줌
즉, UI를 통해 사용자에게 시각적으로 정보를 제공해주는 요소
요소2. Scheduler
Airflow로 할당된 work들을 스케쥴링 해주는 Component. Scheduled된 workflow의 triggering과 실행하기 위해 executor에게 task를 제공해주는 역할을 수행
요소3. Executor
실행중인 task를 handling 하는 component. default 설치시에는 scheduler에 있는 모든 것들을 다 실행시키지만, production 수준에서의 executor은 worker에게 task를 push함.
요소4. Workers
실제 task를 실행하는 주체자
DAG(Directed Acyclic Graph)
비순환 그래프로써 순환하는 cycle이 없는 그래프. 노드끼리 단방향으로 연결되어 있어 그 노드로 향하게 되면 돌아오지 않는 특성 가짐. AIrflow에서 이러한 DAG를 이용해 Workflow를 구성하여 어떤 순서로 task를 실행시킬 것인지 설정함.
MLOps 관점의 Airflow
Airflow는 데이터엔지니어링에서 많이 사용하지만 MLOps에서도 활용할 수 있다.
아래와 같은 상황 주기적인 실행이 필요한 경우에 활용할 수 있다.
- Batch Training: 1주일 단위로 모델 학습
- Batch Serving(Batch Inference): 30분 단위로 인퍼런스
- 인퍼런스 결과를 기반으로 일자별, 주차별 모델 퍼포먼스 Report 생성
- MySQL에 저장된 메타데이터를 데이터 웨어하우스로 1시간 단위로 옮기기
- AWS S3, GCS 등 Object Storage
- Feature Store를 만들기 위해 Batch ETL 실행
출저:
https://lsjsj92.tistory.com/631#comment16196021
Apache 에어플로우(Airflow) 시작하기 - Airflow란?, Airflow 설치 및 기본 예제
포스팅 개요 본 포스팅은 Apache Airflow(에어플로우)에 대해서 정리하는 Airflow 시리즈 포스팅입니다. Airflow 포스팅에서는 아래와 같은 순서로 Airflow에 대해서 정리해보려고 합니다. Airflow란 무엇인
lsjsj92.tistory.com
'MLOps' 카테고리의 다른 글
MLOps Engineering(4) - Airflow compose-yaml 파일로 개발환경구성및 Airflow 스케쥴링 DAG 생성 개요 (0) | 2024.03.22 |
---|---|
MLOps Engineering(3) - MLflow Setup (0) | 2024.03.21 |
MLOps Engineering(2) - 클라우드 환경에서 개발환경 설정하기 (2) | 2024.01.12 |
MLOps Engineering(1) - MLOps 그래서 어떻게 쓰는건데? (0) | 2024.01.08 |
MLFlow (0) | 2024.01.08 |