python ๋ชจ๋“ˆ ์„ค์ •

sys.path์— ๊ฐ’ ์ถ”๊ฐ€

  1. ๋ช…์‹œ์ ์œผ๋กœ ์ถ”๊ฐ€
    1. ์˜ˆ) sys.path.append('/home/haejun')
    2. ๊ฒฝ๋กœ List์— ์ง์ ‘์ ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹
  2. OS ํ™˜๊ฒฝ๋ณ€์ˆ˜ PYTHONPATH ๊ฐ’ ์ถ”๊ฐ€

Airflow ์žฅ์ 

์žฅ์ 

  • ๊ณตํ†ตํ•จ์ˆ˜ ์ž‘์„ฑ
  • ์žฌํ™œ์šฉ์„ฑ ์ฆ๊ฐ€
  • DAG ๊น”๋”
  • ์ž๋™์ ์œผ๋กœ dagsํด๋”์™€ plugins ํด๋”๋ฅผ sys.path์— ์ถ”๊ฐ€ํ•จ

๊ฐœ๋ฐœํ™˜๊ฒฝ๊ณผ Airflow์—์„œ์˜ ์ฐจ์ด์ 

  • plugins ํด๋”์— common ํด๋”์™€ common_func.py ์ƒ์„ฑ
  1. python ๊ฐœ๋ฐœํ™˜๊ฒฝ
    1. ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐœ๋ฐœํ™˜๊ฒฝ ์„ค์ •์‹œ ํ”„๋กœ์ ํŠธ ํด๋”๊ฐ€ ์ƒ์œ„ํด๋”๋กœ ์žกํ˜€์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•ด์•ผ ํ•จ
from plugins.common.common_func
  1. airflow ํ™˜๊ฒฝ
    1. ๊ทธ๋Ÿฌ๋‚˜, airflow์—์„œ๋Š” python ๊ฐœ๋ฐœํ™˜๊ฒฝ์ด ์•„๋‹ˆ๋ฏ€๋กœ plugins ํด๋”๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•จ
    2. ๋”ฐ๋ผ์„œ ๋ฐ”๋กœ common ํด๋”๋ช…์„ ์ง€์ •
    3. Why? airflow๋Š” ์ž๋™์œผ๋กœ plugins ํด๋”๋ฅผ sys.path์— ์ถ”๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์ธ์‹!!
from common.common_func
  1. python ๊ฐœ๋ฐœํ™˜๊ฒฝ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•
    1. ํ”„๋กœ์ ํŠธ ํด๋” ๋‚ด .env ํŒŒ์ผ ์ƒ์„ฑ
    2. tip! .env๋Š” git์— ์•ˆ ์˜ฌ๋ ค๋„ ๋จ
WORKSPACE_FOLDER = /Users/haejun/vscode/airflow
PYTHONPATH = ${WORKSPACE_FOLDER}/plugins