Airflow 공부 - 1 Airflow에 대해서
Airflow에 대해서
- Airflow를 배워야 하는 이유?
- 데이터 파이프라인?
- 데이터 수집
- 데이터 전처리
- 모델
- 모델 추론
- 시각화
- 메일로 전송
- 이러한 파이프라인 속 작업들을 자동화 할 수 있다.
- 스케줄링, 제어 작업을 오케스트레이션이라 하고 에어플로우는 오케스트레이션 도구
- airflow에서 워크플로우를 dag라 함
- 데이터 엔지니어가 하는 일
- airflow로 할 수 있는 작업은?
- python으로 할 수 있는 것들은 모두 할 수 있다.
- Airflow 소개
- 파이썬을 이용해 워크플로우를 만들고 관리할 수 있는 오픈소스 기반 워크플로우 관리 도구
- 2014년 에어비앤비에서 만든 워크플로우 관리 솔루션
- Airflow 특징
- 파이썬으로 제작된 도구이며 이용자가 워크플로우 생성시에도 파이썬으로 구현해야한다.
- 하나의 워크플로우는 DAG(Directed Acyclic Graph)이라 부르며 DAG 안에는 1개 이상의 Task가 존재한다.
- 한 DAG 안에
a. rest api를 사용한 데이터 받아 전처리
b. 기존 db의 데이터 삭제
c. 전처리한 데이터를 db에 삽입
- 이렇게 a, b, c가 task고 그 묶음이 워크플로우이자 DAG
- Task간 선후행 연결이 가능하되 순환되지 않고 방향성을 가짐
- Cron 기반의 스케줄링 지원
- 모니터링 및 실패 작업에 대한 재실행 기능이 간편
- Airflow 장단점