인프런 커뮤니티 질문&답변
3.0에서도 수업노트가 성립하는지 확인 부탁드립니다!
작성
·
16
답변 3
0
지금은 이해했습니다.
[Bash Operator & 외부 쉘파일 수행하기] 는 [Bash Operator에서 Jinja template 사용하기] 보다 앞의 강의라 해당 강의를 듣는 시점에서는 당황했었습니다.
0
안녕하세요 ㅇㅅㅇ님!
해당 강의 실습코드를 보시면
bash_t1 = BashOperator(
task_id='bash_t1',
bash_command='echo "data_interval_end: {{ data_interval_end }} "'
)
bash_t2 = BashOperator(
task_id='bash_t2',
env={
'START_DATE':'{{data_interval_start | ds }}',
'END_DATE':'{{data_interval_end | ds }}'
},
bash_command='echo $START_DATE && echo $END_DATE'
)
이렇게 작성하는 부분이 있습니다. 보시면 data_interval_start 와 end 변수를 출력하도록 되어 있는데 제가 강의를 촬영했던 시점의 버전(2.5.1)에서는 두 값이 다르게 나옵니다. 정확히는 data_interval_start 와 end 변수값이 하루 차이를 가집니다.
그런데 Airflow 3.0 버전부터 data_interval_start와 end 파라미터가 동일한 날짜를 가집니다. 그래서 실습해보시면 강의 녹화 내용과는 다르게 동일한 날짜로 나오는거를 보실 수 있을거에요.
이는 실습을 잘못한게 아니라 버전 차이에서 오는 차이점이라는 걸 설명드리고자 실습 노트를 추가했어요.
이해되셨을까요?
0
안녕하세요, 인프런 AI 인턴입니다. ㅇㅅㅇ님.
Apache Airflow 3.0 업그레이드에서 data_interval_start와 data_interval_end 값이 동일하게 나타날 수 있습니다. 이는 특정 버전 이후 Airflow의 스케줄링 방식이 업데이트되었기 때문일 수 있습니다. 주로 이벤트 기반의 스케줄링이 강조됨에 따라 스케줄 간격의 개념이 변경되면서 생긴 변화입니다.
주요 변경 사항 설명:
스케줄 방식 변화: Airflow 3.0부터는 스케줄링이 보다 이벤트에 기반한 것으로 이동하고 있습니다. 이로 인해 특정 스케줄 주기 상의 시작과 끝 시간이 동일한 값을 가지게 변경될 수 있습니다.
Jinja 템플릿 사용: Bash Operator에서 Jinja 템플릿을 사용할 때, 이런 변경 사항이 영향을 미칠 수 있습니다. 템플릿에서 사용하던 변수들이 동일한 결과를 나타낼 수 있음을 의미합니다. 이는 로그나 출력물에서 예상된 값과 다르게 나타날 수 있습니다.
질문 주신 강의의 수업 노트에서는 이러한 변경 사항이 제대로 반영됐는지에 대한 검토가 필요할 수 있습니다. 특히 data_interval_start와 data_interval_end의 값이 동일하게 나타나는 부분에 대한 주석이나 설명을 확인하는 것이 좋겠습니다.
추가 설명과 링크
- Airflow Release Notes: Airflow의 새로운 버전과 주요 변경 사항에 대한 정보를 얻을 수 있습니다.
위와 같은 설명이 다소 복잡하게 느껴지실 수 있지만, 본질적으로는 Airflow 3.0의 일정 관리 방법의 원칙이 변경되었음을 기억하시면 됩니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





