DAG 디렉토리
- DAG 파일들을 저장한다.
- 이 디렉토리 내부의 python 스크립트 파일은 Scheduler에 의해 탐색되고 DAG을 파싱한다.
Scheduler
- 각종 메타 정보의 기록을 담당한다.
- DAG 디렉토리 내부의 python 스크립트 파일에서 DAG를 파싱하여 DB에 저장한다.
- 실행 진행 상황과 결과를 DB에 저장한다.
- Excutor를 통해 실제로 스케줄링된 DAG를 실행한다.
Executor
- 스케줄링된 DAG를 Workers에게 작업을 실행시키는 역할을 한다.
- 크게 Local Executor와 Remote Executor로 나눌 수 있다.
- Local Executor는 DAG Run을 프로세스 단위로 실행한다.
- Remote Executor는 DAG Run을 외부 프로세스로 실행한다.
Workers
- DAG의 작업을 실행한다.
- 프로세스 또는 쿠버네티스의 pod이 workers에 해당한다.
Metadata Database
- 메타 정보를 저장하는 공간이다.
- Scheduler에 의해 메타 정보가 저장된다.
- 파싱한 DAG 정보, DAG Run 상태와 실행 내용, task 정보 등을 저장한다.
- 일반적으로 MySQL 또는 PostgreSQL을 사용한다.
Webserver
- WEB UI를 담당한다.
- Metadata Database와 통신하며 유저에게 필요한 메타 정보를 웹 브라우저에 시각화한다.
- 사용자들은 Webserver를 통해 DAG를 On/Off 하는 등의 상호 작용을 할 수 있다.
'Data Engineering > Airflow' 카테고리의 다른 글
[Airflow] DAG 작성하기 (0) | 2023.07.25 |
---|---|
[Airflow] Airflow 설치 및 실행하기 (0) | 2023.07.25 |