>> 가 이해가 잘 안갑니다ㅠㅠ
96
작성한 질문수 1
task 연결하기 강의에서
t1 >> [t2, t3] >> t4
t5 >> t4
[t4, t7] >> t6 >> t8
이렇게 작성하셨는데
t1 >> [t2, t3] >> t4
t5 >> [t4, t7] >> t6 >> t8
이렇게 해도 될까요?
순서도 그릴때 task는 무조건 한번씩만 실행되는건가요?
t4
[t4,t7] 이렇게 t4를 두번 작성해도 되는지 궁금합니다.
답변 2
0
안녕하세요 김세은님!
세은님께서 작성하신걸로 만들게 되면 다른 DAG이 만들어집니다.
원래의 task flow에서 t7은 t5와 dependency가 없습니다.
그러나 아래처럼 만들면 t5가 끝나야 t4와 t7이 시작되는 구조가 되어 버리는 거죠.
t1 >> [t2, t3] >> t4
t5 >> [t4, t7] >> t6 >> t8
원래 구조에서 t7은 선행이 없습니다. DAG이 시작되면 t7이 바로 시작될 수 있는 구조에요.
세은님이 작성하신 구조처럼 한번 바꿔보시고 DAG Graph 에서 어떻게 변화하는지 직접 한번 보시는게 제일 좋을거에요.
그리고 task flow내 존재하는 task는 한번만 실행되어야 합니다.
task를 실행했는데 조금 있다가 또 실행되면 논리적으로 DAG(Directed Acyclic Graph, 일방향 그래프)이 아닌거죠.
task flow를 정의할 때 task는 여러 번 나와도 되며 순환되지만 않으면 됩니다.
이것도 세은님이 한번 해보시고 어떤 에러가 발생하는지를 보시는게 가장 좋을 듯 합니다.
t1 >> [t2, t3] >> t4
t5 >> t4
[t4, t7] >> t6 >> t8 >> t5
예를 들어 이렇게 작성하면 순환되는 그래프가 됩니다. 이렇게 작성하시면 에러가 발생해서 DAG parsing에 오류가 발생할거에요.
0
안녕하세요, 인프런 AI 인턴입니다.
김세은 님의 질문은 Airflow에서의 Task Dependency 설정에 대한 궁금증으로 이해됩니다. 아래에 자세한 설명과 참고 링크를 드리겠습니다.
Airflow에서의 >> 연산자는 Task 간의 종속성을 설정하는 데 사용됩니다. 예를 들어, t1 >> [t2, t3] >> t4는 t1이 먼저 실행된 후 t2와 t3가 동시에 실행되고, 그 후에 t4가 실행된다는 것을 의미합니다.
김세은 님께서 제시한 두 번째 예시, t5 >> [t4, t7] >> t6 >> t8은 흐름을 조금 다르게 설정한 것입니다. 여기서 [t4, t7]은 t5가 완료된 후 동시에 실행되는 두 개의 Task를 의미합니다. 두 예제가 모두 사용 가능합니다. 그러나 동일한 Task를 여러 곳에서 재사용하거나 여러 종속성을 가지는 경우는 주의 깊게 설계해야 합니다. Airflow는 Task는 unique하게 설계되어야 하며, 같은 DAG 내에서 중복된 Task ID를 사용할 수 없다는 점을 유의해야 합니다.
관련 질문에 대한 다른 학습자와의 토론을 참고하시면 김세은 님의 이해를 더 돕기 위해 유용할 것입니다:
- Label 설정 질문드립니다.: 이 질문에서는 Airflow의 DAG 내에서 Task 관계 설정에 대한 심도 있는 논의가 이루어졌습니다.
- trigger rule 설정 질문: Task의 실행 조건과 관련하여 추가적으로 배울 수 있는 내용이 포함되어 있습니다.
Task는 DAG 내에서 유니크해야 하고, 동일한 Task를 여러 번 기술하는 것보다는 Task ID를 잘 정의하여 ODM(Ordered Dependency Management)을 확립하는 것이 중요합니다. [t4, t7]와 같은 설정은 문제가 없으나, t4라는 Task ID가 여러 번 사용되면 DAG 내에서 혼란을 초래할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
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





