7.2 Airflow Executor#
Introduction to Executor#
Executor๋ worker์๊ฒ task๋ฅผ ์คํ์ํค๋ ์ญํ ์ ๋๋ค.
์ค์ task์ ์คํ์ ์ค์ผ์ค๋ฌ ๋ด๋ถ์์ ์ํํ ์๋, ์ธ๋ถ์ worker์๊ฒ ์คํ์ ๋งก๊ธธ ์๋ ์์ต๋๋ค.
๋ค์ํ ์ข ๋ฅ๊ฐ ์์ผ๋ฉฐ, ์ง์ machine ์ pooling ํด์ ๊ด๋ฆฌํ๋ ๊ฒฝ์ฐ์๋ Celery Executor๋ฅผ, k8s ํ๊ฒฝ ํ์์๋ Kubernetes Exceutor ๋ฅผ ๊ฐ์ฅ ๋ง์ด ์ ํํ๊ฒ ๋ฉ๋๋ค.
Sequential Executor (๊ธฐ๋ณธ ์ ๊ณต)#
Airflow๋ฅผ ์ฒ์ ์ค์น ์, ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.
๊ธฐ๋ณธ DataBase์ธ SQLite์ ํ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
์์ ์ ์์ฐจ์ ์ผ๋ก ์งํํ๋ ๋จ์ผ ์ค๋ ๋ ๊ธฐ๋ฐ์ผ๋ก ๋ณ๋ ฌ์ฒ๋ฆฌ๊ฐ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
์ค์ผ์ผ ์ธ์์์ด ๋ถ๊ฐ๋ฅ ํฉ๋๋ค.
์ฃผ๋ก ์ด๊ธฐ ๊ฐ๋ฐ ๋ฐ ํ ์คํธ ํ๊ฒฝ์์ ์ฌ์ฉ๋ฉ๋๋ค.
Local Executor#
๋ก์ปฌ์์ ํ๋ก์ธ์ค๋ฅผ ์คํ์์ผ task๋ฅผ ์คํํ๋ ๋ฐฉ์์ ๋๋ค.
๋ณ๋ ฌ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
์ค์ผ์ผ๋ง ํ๊ธฐ ์ ํฉํ์ง ์์ต๋๋ค.
ํ๋ก๋์ ๋ ๋ฒจ์์๋ ์ ๋นํ์ง ์์ต๋๋ค.
Celery Executor#
Celery ๋ฐฑ์๋(RabbitMQ, Redis)๋ฅผ ํ์ฉํฉ๋๋ค.
๋ถ์ฐ task ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
์ํ์ ์ค์ผ์ผ๋ง ๊ฐ๋ฅํฉ๋๋ค.
๋ด๊ฒฐํจ์ฑ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
ํ๋ก๋์ ๋ ๋ฒจ์๋ ์ ํฉํฉ๋๋ค.
Kubernetes Executor#
K8s ํ๊ฒฝ์์ ์ํํด์ผ ํ ์์ ์ด ๋ ํ์คํฌ๋ฅผ ์ค์ผ์ค๋ฌ๊ฐ ์ฐพ๊ณ , Executor๊ฐ ๋์ ์ผ๋ก Airflow ์์ปค๋ฅผ POD ํํ๋ก ์คํํฉ๋๋ค.
๋ฆฌ์์ค๋ฅผ ๊ฐ๋ณ task์ ํ ๋น ๊ฐ๋ฅํฉ๋๋ค.