์๋ฌธ: ์ด๋ช ์ ์์ง์ ๋ฐ๋ผ ํ์ ๊ณผํ(์ํ)์ ์ธ๊ณ์์ ์ ๋ณด ๊ธฐ์ ์ ์ธ๊ณ์ ๋ค์ด์ฐ์ต๋๋ค. ๊ทธ๊ณณ์์๋ ์คํ ๊ตฌ์ฑ ๋ฐฉ๋ฒ๋ก ๊ณผ ์คํ ๋ฐ์ดํฐ ๋ถ์ ์ ๋ต์ ๋ํ ์ง์์ ์ฌ์ฉํด์ผ ํ์ง๋ง, ๋์๊ฒ ์๋ก์ด ๊ธฐ์ ์คํ. ์ด๋ฌํ ๊ธฐ์ ์ ์ตํ๋ ๊ณผ์ ์์ ์ฌ๋ฌ ๊ฐ์ง ์ด๋ ค์์ ์ง๋ฉดํ๊ฒ ๋์๋๋ฐ, ๋คํ์ค๋ฝ๊ฒ๋ ์ง๊ธ๊น์ง๋ ์ด๋ฅผ ๊ทน๋ณตํ์ต๋๋ค. ์๋ง๋ ์ด ๊ฒ์๋ฌผ์ ์ด์ ๋ง Apache ํ๋ก์ ํธ ์์ ์ ์์ํ ์ฌ๋๋ค์๊ฒ ์ ์ฉํ ๊ฒ์ ๋๋ค.
๊ทธ๋์ ์์ ์. ํ์ํ Yuri Emelyanov๋ ๋ถ์ ์ ์ฐจ ์๋ํ ๋ถ์ผ์์ Apache Airflow์ ๊ธฐ๋ฅ์ ๋ํด ์ค๋ช ํ๋ฉด์ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ธํธ๋ฅผ ์์ ์ ์ฌ์ฉํ๊ณ ์ถ์์ต๋๋ค. ์์ง Apache Airflow์ ์ ํ ์ต์ํ์ง ์์ ์ฌ๋๋ค์ ๊ฐ๋จํ ๊ฐ์์ ๊ด์ฌ์ด ์์ ์ ์์ต๋๋ค. ๊ตญ๋ฆฝ์ค์๋์๊ด ํํ์ด์ง์์ N. E. ๋ฐ์ฐ๋ง.
์ผ๋ฐ์ ์ธ Airflow ์คํ ์ง์นจ์ด ํด๋น ํ๊ฒฝ์ ์ ์ฉ๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. Windows๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์ฌ์ฉํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ธ์. ์ ๊ฒฝ์ฐ์๋ ์ค๋ณต๋ ๊ฒ ๊ฐ์์ ๋ค๋ฅธ ์๋ฃจ์
์ ์ฐพ๊ธฐ ์์ํ์ต๋๋ค. ๋คํ์ค๋ฝ๊ฒ๋ ๋๋ ์ด ๊ธธ์ ์ฒ์ ๋ฐ์ ์ฌ๋์ด ์๋์๊ธฐ ๋๋ฌธ์ ํ๋ฅญํ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์์์ต๋๋ค. Apache Airflow ์ค์น์ ๊ดํ์ฌ Windows 10 Docker๋ฅผ ์ฌ์ฉํ์ง ์๊ณ Apache Airflow๋ฅผ ์ค์นํด ๋ณด๋ ค๊ณ ํ์ต๋๋ค. ํ์ง๋ง ๊ถ์ฅ ์ค์น ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด๋ฉด์ ์ด๋ ค์์ ๊ฒช๋ ๊ฒฝ์ฐ๊ฐ ์ข
์ข
์๋๋ฐ, ์ ๋ง ๊ทธ๋ฐ ๊ฑด ์๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋์ ์ ๊ฐ ๊ฒฝํํ Apache Airflow ์ค์น ๊ณผ์ ์ ๊ณต์ ํ๊ณ ์ ํฉ๋๋ค. ๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋ ์๋ ์๊ฒ ์ฃ .
์ง์นจ์ ๋จ๊ณ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค(์คํฌ์ผ๋ฌ - 5๋จ๊ณ์์๋ ๋ชจ๋ ๊ฒ์ด ์ ์งํ๋์์ต๋๋ค).
1. ์๋ธ์์คํ ์ค์น Windows ์ Linux ๋ฐฐํฌํ์ ํ์ ์ค์น๋ฅผ ์ํด Linux
๊ทธ๋ค์ด ๋งํ๋ ๊ฒ์ฒ๋ผ ์ด๊ฒ์ ๊ฐ์ฅ ์์ ๋ฌธ์ ์ ๋๋ค.
์ ์ดํ โ ํ๋ก๊ทธ๋จ โ ํ๋ก๊ทธ๋จ ๋ฐ ๊ธฐ๋ฅ โ ๊ธฐ๋ฅ ์ผ๊ธฐ/๋๊ธฐ Windows โ ํ์ ์์คํ Windows ์ Linux
2. ๋ฐฐํฌํ ์ค์น Linux ์ ํ์ ์ผ๋ก
๋๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ค .
3. pip ์ค์น ๋ฐ ์ ๋ฐ์ดํธ
sudo apt-get install software-properties-common
sudo apt-add-repository universe
sudo apt-get update
sudo apt-get install python-pip4. ์ํ์น ์์ดํ๋ก์ฐ ์ค์น
export SLUGIFY_USES_TEXT_UNIDECODE=yes
pip install apache-airflow5. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐํ
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ด ๋์ ์์ ์ด๋ ค์์ด ์์๋ ๊ณณ์
๋๋ค. ์ง์นจ์ ๋ฐ๋ผ ๋ช
๋ น์ ์
๋ ฅํด์ผ ํฉ๋๋ค. airflow initdb ๊ทธ๋ฆฌ๊ณ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ ๋ต์ฅ์ ๋ฐ์์ด์. airflow: command not found. Apache Airflow๋ฅผ ์ค์นํ๋ ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ ํ์ํ ํ์ผ์ ์ฌ์ฉํ ์ ์๋ค๊ณ ๊ฐ์ ํ๋ ๊ฒ์ด ๋
ผ๋ฆฌ์ ์
๋๋ค. ๋ชจ๋ ๊ฒ์ด ์์ด์ผ ํ ์์น์ ์๋์ง ํ์ธํ ํ airflow ํ์ผ์ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค(๋ค์๊ณผ ๊ฐ์์ผ ํจ). ะะพะปะฝัะน/ะฟััั/ะดะพ/ัะฐะนะปะฐ/airflow initdb). ํ์ง๋ง ๊ธฐ์ ์ ์ผ์ด๋์ง ์์๊ณ ๋๋ต์ ๊ฐ์์ด์ airflow: command not found. ํ์ผ์ ์๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํด ๋ณด์์ต๋๋ค(./.local/bin/airflow initdb), ์ด๋ก ์ธํด ์๋ก์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ModuleNotFoundError: No module named json'๋ผ์ด๋ธ๋ฌ๋ฆฌ ์
๋ฐ์ดํธ๋ก ๊ทน๋ณตํ ์ ์๋ ๋ฌธ์ ์๋จ (๋ด ๊ฒฝ์ฐ์๋ ๋ฒ์ 0.15.4๊น์ง):
pip install werkzeug==0.15.4Werkzeug์ ๋ํด ์์ธํ ์์๋ณผ ์ ์์ต๋๋ค. .
์ด ๊ฐ๋จํ ์กฐ์ ํ ๋ช
๋ น ./.local/bin/airflow initdb ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์์ต๋๋ค.
6. Airflow ์๋ฒ ์คํ
์ด๊ฒ์ ๊ณต๊ธฐ ํ๋ฆ์ ์ ๊ทผํ๋ ๋ฐ ๋ฐ๋ฅธ ์ด๋ ค์์ ๋์ด ์๋๋๋ค. ๋ช
๋ น ์คํ ./.local/bin/airflow webserver -p 8080 ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค No such file or directory์๋ง ์๋ จ๋ ์ฌ์ฉ์์ผ ๊ฒ๋๋ค. Ubuntu ์ ๋ ์ฆ์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ ์ ๊ทผ์ ์์ด์ ๊ทธ๋ฌํ ์ด๋ ค์์ ํด๊ฒฐํ๋ ค๊ณ ์๋ํ ๊ฒ์
๋๋ค. export PATH=$PATH:~/.local/bin/ (์ฆ, PATH ๋ณ์์ ์ ์๋ ๊ธฐ์กด ์คํ ํ์ผ ๊ฒ์ ๊ฒฝ๋ก์ /.local/bin/ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ)์ด์ง๋ง, ์ด ๊ธ์ ์ฃผ๋ก ๋ค์๊ณผ ๊ฐ์ ์์
์ ํ๋ ์ฌ๋๋ค์ ๋์์ผ๋ก ํฉ๋๋ค. Windows ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฌํ ํด๊ฒฐ์ฑ
์ ๋น์ฐํ๋ค๊ณ ์๊ฐํ์ง ์์ ์๋ ์์ต๋๋ค.
์์์ ์ค๋ช
ํ ์กฐ์ ํ ๋ช
๋ น ./.local/bin/airflow webserver -p 8080 ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์์ต๋๋ค.
7.URL: : 8080 /
์ด์ ๋จ๊ณ์์ ๋ชจ๋ ๊ฒ์ด ์์กฐ๋กญ๊ฒ ์งํ๋์๋ค๋ฉด ์ด์ ๋ถ์ ์ ์ ์ ์ ๋ณตํ ์ค๋น๊ฐ ๋ ๊ฒ์ ๋๋ค.
์์์ ์ค๋ช ํ Apache Airflow ์ค์น ๊ฒฝํ์ด ๋์์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. Windows 10 ์ด๋ ์ด๋ณด ์ฌ์ฉ์์๊ฒ ์ ์ฉํ๋ฉฐ ์ต์ ๋ถ์ ๋๊ตฌ์ ์ธ๊ณ์ ๋ ๋นจ๋ฆฌ ์ง์ ํ ์ ์๋๋ก ๋์์ค ๊ฒ์ ๋๋ค.
๋ค์๋ฒ์๋ ์ฃผ์ ๋ฅผ ์ด์ด๊ฐ๋ฉฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฌ์ฉ์ ํ๋ ๋ถ์ ๋ถ์ผ์์ Apache Airflow๋ฅผ ์ฌ์ฉํ ๊ฒฝํ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์ถ์ต๋๋ค.
์ถ์ฒ : habr.com
