일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 챗지피티
- 딥러닝
- It
- 리뷰
- 데이터분석
- 자동매매프로그램
- Ai
- 패스트캠퍼스
- 태국여행
- 방콕여행
- airflow
- Python
- 독서리뷰
- 상관분석
- 분석
- DAGs
- 파이썬을활용한시계열데이터분석A-Z올인원패키지
- 활성화함수
- 직장인자기계발
- API
- 패스트캠퍼스후기
- nlp
- ChatGPT
- 패캠챌린지
- 클라우드
- 데이터
- 직장인인강
- 머신러닝
- 빅데이터
- 파이썬
- Today
- Total
데이터를 기반으로
Airflow DAG 와 실행 개념 본문
DAG 란?
-> 방향성 비순환 그래프(Directed Acyclic Grapch)라고 부르며, airflow에서 각 태스크 별로 어떻게 실행되는 지 순서를 확인할 수 있는 그래프이며, 해당 그래프로 전체 파이프라인을 직관적으로 표현할 수 있다.
화살표의 관계는 방향성의 시작점의 태스크가 완료되어야 방향성이 가리키는 태스크를 실행할 수 있다는 의미이다.
이러한 관계이기에, 반복이나 순환을 허용하지 않는다.
만약, 허용하게 된다면 논리적 오류가 발생되어 교착상태(데드락 = deadlock)로 이어진다.
[ 예시 사진 ]
태스크 1의 순서인 첫번째가 혹시, 병렬 구조로 2개의 태스크가 독립적으로 이루어지는 케이스들도 존재한다.
해당 태스크는 병렬로 실행하여 가용 컴퓨팅 리소스를 더 효율적으로 사용할 수 있다.
DAG로 파이프라인 구조를 정의하고 나면 각 DAG의 실행 주기를 설정할 수 있다.
Airflow는 크게 3가지로 구성되어 있다.
1. 스케줄러 - DAG를 분석하고 현재 시점에서 DAG의 스케줄이 지난 경우 워커에 DAG의 태스크를 예약한다.
2. 워커 - 예약된 태스크를 선택하고 실행한다.
3. 웹 서버 - 스케줄러에서 분석한 DAG를 시각화하고 DAG 실행 및 결과를 확인할 수 있는 인터페이스를 제공한다.
태스크가 실행 대기열에 추가되면 워커의 풀(pool)의 워커가 태스크를 선택하고 실행합니다.
기본적으로 태스크 실패 시에 재시도를 할 수 있으며 실패했음에도 기록하고 사용자에게 실패를 통보한다.
또한, 트리 뷰를 통해 실패한 태스크를 보고 로그를 확인할 수 있어 디버깅에 유용합니다.
추가로, 트리 뷰에서 개별 태스크 결과를 삭제하고 종속된 태스크를 모두 재실행할 수 있습니다.
'스터디 > Apache Airflow' 카테고리의 다른 글
Airflow Webserver 실행안될 때 (0) | 2023.06.02 |
---|---|
Airflow Local Path 관련 이슈 정리 (1) | 2023.05.10 |
Operator 파악하기 (0) | 2023.05.01 |
Airflow 개념 및 설치 (0) | 2023.03.24 |
Apache Airflow 스터디 시작 (0) | 2023.03.24 |