[Airflow] 5. Backfill?
·
데이터/Airflow
Backfill?실패한 데이터 파이프라인을 재실행 or 읽어온 데이터의 문제로 다시 읽어와야하는 경우를 의미Airflow에서의 Backfill과거 특정 날짜에 대한 DAG 실행을 수동으로 수행하여 데이터 파이프라인을 다시 실행하는 과정새로운 DAG를 추가하거나, DAG의 설정을 변경한 후, 누락된 과거 데이터를 처리하기 위해 사용Backfill의 주요 목적데이터 누락 방지 : 과거 DAG가 실행되지 않아서 누락된 데이터를 채우는 데 사용데이터 갱신 : 과거 DAG에 에러가 발생한 경우, 과거 데이터를 갱신하기 위해 사용데이터 재처리 : 데이터 처리 로직이 변경된 후 과거 데이터를 새 로직에 맞게 재처리하기 위해 사용Backfill 관련 Airflow 변수start_dateDAG가 처음 실행되는 날짜가 ..
[Airflow] 4. Airflow.cfg?
·
데이터/Airflow
Airflow.cfg?Airflow.cfg는 Apache Airflow의 주요 설정 파일Airflow의 다양한 기능과 컴포넌트의 동작 방식을 정의하는 데 사용주요 섹션과 설정 항목[core]Airflow의 전반적인 설정을 하는 섹션설정 항목dags_folder : DAG 파일이 위치한 폴더 경로를 정의executor : Task 실행에 사용할 executor 정의sql_alchemy_conn : Airflow 메타데이터 데이터베이스의 연결 문자열load_examples : True로 설정 시 Airflow 기본 예제 DAG 로드default_timezone : Airflow 전체에서 기본적으로 사용할 Timezone 설정[webserver]Airflow 웹 서버 관련 설정설정 항목base_url : Ai..
[Airflow] 3. Python Operator / Task Decorator
·
데이터/Airflow
Python OperatorAirflow 1.x에서 주로 사용Python 함수를 Task로 실행할 때 PythonOperator 객체 사용명시적으로 함수를 Task로 래핑하여 실행예시 코드더보기from airflow import DAGfrom airflow.operators.python import PythonOperatorfrom datetime import datetime# 추출 함수def extract(url): print(f"Extracting data from {url}") return ['data1', 'data2', 'data3'] # 예시 데이터# 변환 함수def transform(data): print(f"Transforming data: {data}") retur..