Airflow에서 Deferrable Operator란?
·
데이터 엔지니어링
아젠다Deferrable의 의미Deferrable Operator 사용 및 작성1. Deferrable의 의미“Deferrable”은 “연기할 수 있는” 또는 “지연 가능한”이라는 의미를 갖고 있습니다.기존의 Operator: 작업이 대기 상태에 있을 때도 워커를 점유하면서 리소스를 사용하지만,Deferrable Operator: 작업을 중지하고 필요할 때 다시 시작할 수 있어 워커 리소스를 절약합니다이를 통해 시스템의 리소스 효율성을 높이고, 더 많은 작업을 동시에 처리할 수 있습니다.Airflow에서 특정 Task를 수행한다는 것은 기본적으로 워커의 슬롯을 사용하는 것을 의미합니다. 하지만, Deferrable Operator는 워커에서 동작하는 것이 아닌 Triggerer라는 워커에서 동작합니다.T..
Airflow로 Full Refresh 구현(Open Weather API)
·
카테고리 없음
해당 포스팅의 코드는 https://github.com/Ssuwani/weather-forecast-dag 여기에 있습니다. 1주일치 날씨 데이터를 불러오는 DAG를 Airflow를 통해 작성합니다. 위 다이어그램과 같이 Airflow를 사용해 Open Weather API에서 Redshift로 데이터를 가져옵니다. 이 작업은 단계별로 두가지 방식으로 구현할 수 있습니다. Full Refresh: 데이터 소스에서 데이터가 로드될 때 발생하는 전체 데이터를 가져옴 Incremental Update: 데이터 소스에서 정기적으로 필요한 데이터를 가져옴 1. Full Refresh 데이터 소스로부터 데이터를 마치 처음 불러왔듯이 전부 가져오면 됩니다. 그렇게 하기 위해선 데이터를 불러 오기 전 테이블의 모든 레..
Airflow로 MNIST 학습 파이프라인 실행하기
·
MLOps
목차 들어가며 소스파일 정의 및 설명 데이터 로드: data_load.py 모델 학습: train.py 모델 평가: evaluate.py Dags 작성: main.py Workflow 실행 및 결과 확인 들어가며 Airflow는 워크플로 관리 툴이다. 데이터 엔지니어링에서 주로 사용되지만 범용성이 좋아 학습 파이프라인에서 사용되기도 한다. MNiST 학습을 위한 파이프라인을 Airflow를 통해 작성해보자. 여기서 정의할 학습 파이프라인은 간단히 3개의 Task로 구분하였다. 데이터 로드 모델 학습 모델 평가 각 Task는 아래와 같은 의존성을 가진다. 이를 구현하기 위해 4개의 파일이 필요하다. . ├── main.py ├── data_load.py ├── train.py └── evaluate.py ..