data_interval_start가 배치일로 나오는 이유 문의
안녕하세요.
우선 강사님, 좋은 강의 잘 듣고 있습니다.
[섹션 5. Template Variable > Airflow 날짜개념] 강의 관련하여 질문 드립니다.
Airflow 2.10.0 버전 사용 중이며, 강의와 같이 테스트를 진행하였는데, data_interval_start이 이전 배치일이 아닌 배치일로 나와서 문의드립니다.
DAG의 start_date를 2024년 9월 1일로 설정 후 소급 처리하였습니다. 아래와 같이 dag_run이 배치일일텐데, 왜 data_interval_start가 이전 배치일(2024.08.31)이 아닌 배치일로 나올까요?
'dag_run': <DagRun dags_python_show_templates @ 2024-09-01 00:30:00+00:00: scheduled__2024-09-01T00:30:00+00:00, state:running, queued_at: 2024-09-06 09:11:26.187022+00:00. externally triggered: False>,
'data_interval_end': DateTime(2024, 9, 2, 0, 30, 0, tzinfo=Timezone('UTC')),
'data_interval_start': DateTime(2024, 9, 1, 0, 30, 0, tzinfo=Timezone('UTC')),
'ds': '2024-09-01',
답변 2
0
강사님, 답변 감사합니다.
data_interval_start/end는 확실히 이해하였습니다.
다만, 강의에서와는 다르게 제 Airflow UI의 DAG Run에 대한 정보가 data_interval_end가 아닌 data_interval_start 일자로 출력되고 있어 더 헷갈렸던 것으로 생각됩니다. 나중에 운영 시 혼동을 일으킬 수도 있을 것 같네요ㅠ

혹시 이 부분에 대해서는 아시거나 추측되시는 부분이 있으신지 여쭤봅니다.
0
kyou 님
혹시 airflow 버전 업 되면서 RUN 메타정보가 data_interval_start --> data_interval_end 로 바뀌었나 싶어서 확인해봤는데 그런 내용은 없네요.
강의 내용 다시 살펴보니 제가 강의했던 영상에서도 RUN의 배치일 관련해서 data_interval_end 로 나오고 있습니다. 그래서 kyou 님이 보신 것과 차이는 없는 것 같아요.

아마 다른 부분하고 헷갈리신것 같은데 궁금하신건 또 문의주세요 ^^
0
강사님, 바쁘실텐데 답변 감사합니다.
이번 답글은 확인차 작성합니다ㅠ
Airflow UI에서 DAG 실행 정보 최상단에 dag_id와 Run 정보가 출력되는데,
강의에서의 Run 정보는 배치 일자인 data_interval_end로 출력되는 것이 확인됩니다.
실제 실행된 일자가 출력되는 것이 정상이라고 판단됩니다.

로컬 Airflow 2.10.0 버전에서의 Run 정보는 data_interval_end와 상이합니다.
data_interval_start를 참조하는 것으로 생각됩니다.

답글 작성 중 궁금하여 Github에서 Airflow UI 변경 이력을 확인했습니다.
결론은 2.9.2 버전부터 data_interval_start를 표시하도록 변경되었네요.
https://github.com/apache/airflow/commit/4dce7459d9728933629f917d60500a74c3f29213
Visible DAG RUN doesn’t point to the same dag run id (#38365)
아직 제가 Airflow 입문 단계라 왜 이렇게 결정된건지는 설명을 봐도 와닿진 않습니다.
직관적으로 data_interval_end를 보여주는게 맞지 않나 싶구요..
Airflow 날짜 개념 쉽지 않은 것 같습니다.
좋은 강의 계속 잘 듣도록 하겠습니다!
0
kyou님!
그걸 찾으시고 대단하시네요 ^^
airflow 날짜 개념은 헷갈리긴 하지만 왠만해서는 data_interval_start 기준이라고 생각하시는게 정신건강에 이롭습니다. airflow CLI 중 clear 또는 backfill 이라는 CLI 도 자주 사용하는데 그때 사용되는 -start_date 옵션 또는 -end_date 옵션 모두 data_interval_start 기준입니다.
쓰시다보며 좀 익숙해지실 거에요
화이팅입니다!
0
안녕하세요 kyou 님!
우선 kyou 님께서 헷갈리시는 것이, DAG의 start_date 자체가 data_interval_start 기준입니다.
그래서 start_date = 2024-09-01 로 설정하셨다면 data_interval_start = 2024-09-01 부터 시작하겠다는 의미입니다. 즉 data_interval_end 는 2024-09-02가 되는 것이죠.
따라서 배치일자 기준으로 2024-09-02부터 소급처리 되었다고 보시면 됩니다.
그래서 airflow는 철저하게 날짜 기준을 잡을 때는 data_interval_start 값이 기준이라는 것입니다.
남은 강의도 열공해서 잘 들으시길 바라고, 또 궁금한 것 있으면 언제든 남겨주세요 ^^
pykrx 회원제 전환으로 인한 실습 불가
0
114
2
수료증 발급
0
84
3
에러 발생 관련 질문드립니다.
0
83
2
vscode 작업화면에 오류가 발생하지 않습니다.
0
69
2
plugins 폴더 생성
0
76
2
WSL에서 git push 가 안되요 ㅠ
0
115
2
chatGPT&Airflow로 블로그 자동 포스팅하기 는 Deprecated 가 필요합니다.
0
67
2
github에 회원가입이 안되는데 원인이 뭔지 모르겠어요 ㅠ
0
738
2
설치중인데 venv를 꼭 써야할까요?
0
126
2
설치 버전 관련 질문입니다.
0
68
1
우분투 버전 다운받아야하는데 어떤걸로 설치해야할까요?
0
62
1
DAG 만들기 중 airflow 패키지 로드 에러
0
106
2
3.0에서도 수업노트가 성립하는지 확인 부탁드립니다!
0
95
3
task_id 사용법이 뭔가 바뀐 것 같습니다.
0
76
3
email operator 오류 관련
0
66
2
plugins 폴더 관련
0
100
2
bash operator 관련 문의입니다
0
78
3
스케쥴러 - DAG 파싱 부하 줄이는 과정 질문
0
79
2
Dags refresh 주기 관련 질문
0
125
2
wsl 관련 질문입니다.!
0
75
2
macOS에서 docker 설치
0
94
2
템플릿 변수에 대한 오류
0
61
2
custom_image 디렉토리 문의드립니다.
0
54
2
ETL 인터뷰 관련 문의
0
103
2





