airflow
-
[Airflow] Airflow ExternalTask Sensor 생성하기Airflow 2021. 8. 9. 00:06
배경설명 매일 각 고객사별로 검색어 추천용 데이터를 수집하기 위한 DAG가 돌아가는데 모든 고객사 DAG들이 돌고 난 이후 검색어 추천 모델 배포용 DAG가 자동으로 실행(trigger)될 수 있도록 고객사 데이터 수집 -> 모델 학습 -> 그리고 자동으로 배포까지 가능한 자동화 파이프라인을 리서치해봄. 해결방안 이 문제해결을 위한 요구조건으로는 모든 DAG들이 돌았음을 감지하는 무언가가 필요했고 Airflow에 있는 기능 중 ExternalTaskSensor가 그 역할을 할 수 있다고 판단하여 TEST 진행함. *유의사항 ExternalTaskSensor는 무조건 해당 dag의 스케줄 시간이 정확히 맞는 run만 sensing 한다. https://uiandwe.tistory.com/1302 airfl..
-
[Airflow] 에어플로우 execution_date DAG 스케줄러 에러(feat.run_id)Airflow 2021. 7. 8. 22:31
🙊 문제상황 schedule로 돌리면 하루 전 날짜(-24H)가 찍혀서 출력됨 manual로 돌리면 정상 시간 출력 확인 🙈 원인파악 Airflow 내부 execution_date는 DAG 실행 예약 시간으로 DAG가 실행되는 시간에 다음 스케줄을 예약한다. 즉, execution_date은 실행날짜가 아닌 주문번호(run_id)의 개념. run_id: 예약을 잡으려고 시도한 시간 23일 schedule DAG 실행 -> 24일 schedule DAG 예약 -> 24일 schedule DAG 실행 run_id: 24일 🙉 문제해결 https://airflow.apache.org/docs/apache-airflow/stable/macros-ref.html#macros-reference Macros refe..
-
[Airflow] DAG 작성법(Feat. 오늘 날짜/시간 출력하기)Airflow 2021. 4. 21. 21:35
# Step 1: Importing modules # airflow DAG 모듈 import from airflow import DAG # 날짜와 시간 출력하기 위한 import from datetime import datetime, timedelta # airflow 실행을 위한 PythonOperator import from airflow.operators.python_operator import PythonOperator # Step 2: Default Arguments # dict pass to airflow objects containing meta datas default_args = { # owner name of the DAG 'owner': 'airflow', # whether to re..