DAG params를 PythonOperator 매개변수로 사용하기Airflow에서 DAG와 개별 Task를 유연하게 구성하기 위해 params와 op_kwargs를 활용하는 것은 매우 유용하다. 이를 활용하면, DAG 전역에서 사용하는 변수를 정의하여 개별 Task에서 재사용할 수 있다. 이 글에서는 DAG에서 params를 정의하고, 이를 PythonOperator의 매개변수로 사용하는 방법에 대해 소개하려고 한다.DAG : paramsDAG params란?DAG 실행 시 특정한 값을 전역적으로 정의하고, DAG 내의 Task에서 Jinja 템플릿을 사용해 값을 참조할 수 있다. 이를 통해 DAG 내 여러 Task에서 동일한 값을 재사용할 수 있다.DAG 예시 코드current_data_file_na..
TIL (2024-07-29 ~ 2024-08-02)2024-07-29 (월)오늘 한 일ELT보다 웹 서비스 제작을 우선적으로 지원하여 제작하기로 결정현재 프론트 디자인은 완료되었고, Request/Response 작업은 다른 팀원 분이 진행VPC, RDS 구축이 이루어지면 RDS와 Server를 연결하는 작업 진행(RDS 구축 이후 웹 서비스 제작 이전에 S3 -> RDS 벌크 업데이트 테스트부터 해야 함)웹 제작 지원 (Frontend)메인 페이지와 보증금, 월세를 입력받는 페이지 디자인 (React)웹 제작 지원 (Server)을 위한 작성된 코드 리딩Server 쪽에서 지원할 사항은 RDS 연결과 프론트 - 백엔드 디버깅지원을 위한 django 웹 서버 코드 리딩RDS와 연결하는 방법 탐색 + ...
Airflow Scheduling과 Execution개요Airflow 관리Airflow를 사용하면서 반드시 알아야 할 것이 "작성한 DAG가 언제, 얼마나 실행되는가?"일 것이다. Airflow에서는 관련 개념을 숙지하지 않으면, 해당 DAG의 실행 유무에 대한 답을 내릴 수 없다. 그래서 Airflow를 활용해 DAG를 제대로 관리하기 위해서는 start_date, execution_date와 더불어 관련 개념을 이해해야 한다.DAG 선언 예시일반적인 DAG를 선언한 예제이다. 해당 Job이 "2024-06-09 04:00:00"에 활성화될 때, 총 몇 번의 DAG가 실행되는지 바로 떠올리기는 쉽지 않다. 그러나 관련 용어의 개념과 타임테이블을 반복적으로 이해하다 보면, 어렵지 않게 떠올릴 수 있을 것..
Airflow 기타 기능Airflow의 가장 기본적인 개념인 DAG와 더불어 DAG를 더 효과적으로 관리할 수 있는 Sensor, Trigger Rules, Task Grouping, Dynamic DAG에 대해 알아보자.DAG (Directed Acyclic Graph)DAG 개념Airflow에서 ETL을 부르는 별칭DAG는 하나 이상의 Task로 구성실행 방법Web UI : airflow 웹에 접속해 원하는 DAG를 직접 TriggerScheduler Shelldocker ps로 airflow sheduler의 container ID 혹은 image 이름 확인docker exec -it "container ID 혹은 image 이름" sh로 Scheduler Shell 접속airflow dags te..