inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Airflow 마스터 클래스

Bash operator DAG 만들기 & DAG 디렉토리 셋팅

Task의 실행 주체가 헷갈립니다.

248

김민서

작성한 질문수 3

0

안녕하세요, 강의 잘 듣고 있습니다.

제목 그대로 task를 실행하는 주체가 헷갈려 질문 드립니다.

 

airflow document를 읽어본 결과 scheduler는 DAG의 시작 시간을 확인한 후에 Executor에게 시작을 지시하는 것으로 보였습니다.

 

Executor의 종류 중 locally하게 실행하는 task의 경우 executor가 직접 실행하고, remotely하게 실행하는 task의 경우 (특히 분산 환경에서 사용되는 Executor; ex. CeleryExecutor)에는 worker 풀을 활용한다고 이해했습니다.

Airflow의 경우 default executor가 SequentialExecutor로 설정된다고 하는데, 이는 local executor이므로 worker가 존재하지 않는다고 이해했습니다.

 

그래서 local executor에도 따로 worker가 존재하는지 궁금하여 질문 남깁니다!

감사합니다.

python 데이터-엔지니어링 airflow

답변 1

0

김현진

안녕하세요. 김민서님

우선 용어부터 정리해봐야 할 것 같습니다.

Worker 란 Job이 실행되는 노드입니다. (or 컨테이너)

따라서 local Executor 는 단일 노드에서 실행되는 것이므로 Worker노드와 Scheduler 노드가 동일한 것입니다. 우리가 실습한 Celery Executor 또한 단일 노드에서 실행되기는 했지만 컨테이너로써 Scheduler와 Worker가 명확히 분리되어 있습니다. 그리고 이 컨테이너들을 확장하거나 다른 노드에 띄우는 것이 가능하구요.

(Celery Executor의 핵심은 한 개 또는 다수의 스케줄러와 다수의 Worker가 큐를 바라보고 동작한다는 것이 핵심입니다. 꼭 컨테이너가 아니더라도 물리적인 서버로도 구성 가능합니다)

 

반면에 local Executor는 Worker 노드가 존재하지만 Scheduler 노드와 동일한 노드에 국한되고 여러 노드 또는 컨테이너로 확장이 불가능하다로 이해하시면 될 것 같습니다.

그리고 Task가 실행될 때마다 프로세스가 떠서 task가 처리되는 구조입니다. (프로세스 개수를 Fix해서 미리 띄어놓을수도 있음)

 

결론적으로 Local Executor 에도 Worker는 존재한다 이고 단일 노드에 Scheduler, Worker가 같이 있는 구조라고 이해하시면 되겠습니다.

 참고로 아키텍처에 관련해서는 후반부에서 설명합니다 ^^

pykrx 회원제 전환으로 인한 실습 불가

0

114

2

수료증 발급

0

84

3

에러 발생 관련 질문드립니다.

0

83

2

vscode 작업화면에 오류가 발생하지 않습니다.

0

69

2

plugins 폴더 생성

0

75

2

WSL에서 git push 가 안되요 ㅠ

0

114

2

chatGPT&Airflow로 블로그 자동 포스팅하기 는 Deprecated 가 필요합니다.

0

66

2

github에 회원가입이 안되는데 원인이 뭔지 모르겠어요 ㅠ

0

733

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

74

2

macOS에서 docker 설치

0

94

2

템플릿 변수에 대한 오류

0

61

2

custom_image 디렉토리 문의드립니다.

0

54

2

ETL 인터뷰 관련 문의

0

103

2