Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 가상환경
- Docker
- 데이터베이스
- 데이터 웨어하우스
- 컴퓨터 네트워크
- 정리
- 데이터 파이프라인
- 데이터 엔지니어링
- redshift
- 자료구조
- airflow.cfg
- dockerfile
- Django
- 파이썬
- linux
- S3
- Go
- TIL
- 데브코스
- 데이터엔지니어링
- 종류
- AWS
- HADOOP
- 컴퓨터네트워크
- 운영체제
- sql
- TCP
- http
- airflow
- PYTHON
Archives
- Today
- Total
홍카나의 공부방
[DE 데브코스] 06.21 TIL - Airflow, backfill, start_date와 execution_date, catchup 본문
Data Engineering
[DE 데브코스] 06.21 TIL - Airflow, backfill, start_date와 execution_date, catchup
홍문관카페나무 2023. 6. 21. 15:59airflow를 DE가 왜 사용하는가?
- backfill을 관리하기 쉬운 tool이라서 그렇다.
- backfill이란 실패한 데이터 파이프라인을 재실행하거나, 읽어온 데이터들의 문제로 다시 읽어옴을 의미한다.
- full refresh의 경우 backfill은 그냥 다시 실행하면 끝이나, incremetal update의 경우, backfill의 난이도가 올라간다.
start_date와 execution_date
- airflow의 start_date는 DAG의 시작 날짜라기 보다는 DAG가 처음 읽어와야 하는 데이터의 날짜다.
- DAG의 실제 첫 실행날짜는 start_date + DAG의 실행주기다.
- execution_date는 읽어와야 하는 데이터의 날짜와 시간이다. airflow가 자동으로 정한다.
- 즉, 위 그림에서 start_date를 11월 7일로 설정하면 DAG는 11월 7일의 데이터를 읽어와야 하는 11월 8일에 실행된다.
- 예를 들어, 하루에 한 번 실행되는 job을 8월 6일 00시로 start_date를 잡고 오늘 날짜가 8월 14일 20시라고 가정하면, job이 실행되는 순간 해당 job은 catchup 파라미터의 값에 따라 8번 자동 실행된다. ( 잘 모르겠으면, catchup은 False로 설정하는게 안전. )
- -> 8월 6일 00시부터 8월 14일 00시까지 daily로 한 번씩 실행되어 총 8번 실행된다.
- catchup은 DAG가 처음 활성화된 시점이 start_date보다 미래라면, 그 사이 실행이 안된 것들을 모두 가져올 것인지 결정하는 파라미터이다.
- end_date는 보통 필요하지 않은 값인데, Backfill을 날짜 범위에 대해 진행하는 경우에만 필요한 파라미터다.
반응형
'Data Engineering' 카테고리의 다른 글
데이터 엔지니어링 트렌드와 변화 (0) | 2023.06.05 |
---|---|
[AWS] 다른 계정의 Redshift로 나의 S3 버킷 파일을 적재하고 싶을때 (0) | 2023.05.31 |
데이터 웨어하우스 옵션들 (1) | 2023.05.22 |
[DE 개념 정리] 데이터 파이프라인 개요, ETL과 ELT (0) | 2023.05.22 |
CSV 파일을 데이터 웨어하우스(redshift)에 로드할 때 주의사항 (0) | 2023.05.14 |