Data Engineering/Airflow

Data Engineering/Airflow

[Airflow] Executor 실행 준비 과정 (SchedulerJobRunner._execute())

SchedulerJobRunner의 _executor 메서드 작동 과정실제로 Executor가 실행되는 부분은 airflow/jobs/scheduler_job_runner.py에 작성된 SchedulerJobRunner의 _execute 메서드이다. 해당 메서드는 DAG가 생성되거나 트리고 될 때 실행되며, 실행할 DAG가 있다면 airflow.cfg에 설정된 Executor로 실행을 준비하도록 하는 역할이다. _execute의 코드를 순차적으로 살펴보며, Executor가 어떻게 동작하는 것인지 확인해 볼 것이다.참고 : _execute 함수의 코드는 생략되는 부분 없이 모두 적음_execute 메서드 전체 코드 (공식 github)설정된 Executor 확인 및 직렬화, 비동기 모드 여부 결정시작 l..

Data Engineering/Airflow

[Airflow] AWS Ubuntu EC2 Airflow 환경 구축 (feat. Dockerfile)

AWS Ubuntu EC2 Airflow 환경 구축생성한 EC2 인스턴스 정보는 다음과 같다. Airflow와 Docker는 결코 가벼운 서비스가 아니기 때문에 메모리가 6~8GB 정도는 돼야 정상적으로 작동하기 때문에 여유롭게 t3.large를 사용하였다.OS : Ubuntu Server 24.04 LTSinstance : t3.large (2 vCPU, 8 GiB Mem)(24.10.17 기준) 1 hour : $0.1041 day : $2.4961 week : $17.472docker-compose를 사용한 Airflow 환경 구축 과정docker-compose 만으로도 Airflow 환경 구축이 가능하다. 그러나 Dockerfile을 활용해 build 하면, 더 유연하게 docker-compose..

Data Engineering/Airflow

[Airflow] DAG Scheduling과 Execution

Airflow Scheduling과 Execution개요Airflow 관리Airflow를 사용하면서 반드시 알아야 할 것이 "작성한 DAG가 언제, 얼마나 실행되는가?"일 것이다. Airflow에서는 관련 개념을 숙지하지 않으면, 해당 DAG의 실행 유무에 대한 답을 내릴 수 없다. 그래서 Airflow를 활용해 DAG를 제대로 관리하기 위해서는 start_date, execution_date와 더불어 관련 개념을 이해해야 한다.DAG 선언 예시일반적인 DAG를 선언한 예제이다. 해당 Job이 "2024-06-09 04:00:00"에 활성화될 때, 총 몇 번의 DAG가 실행되는지 바로 떠올리기는 쉽지 않다. 그러나 관련 용어의 개념과 타임테이블을 반복적으로 이해하다 보면, 어렵지 않게 떠올릴 수 있을 것..

Data Engineering/Airflow

[Airflow] Airflow 기타 기능 정리

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..

기억에 남는 블로그 닉네임
'Data Engineering/Airflow' 카테고리의 글 목록 (4 Page)