일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 방콕여행
- 클라우드
- 챗지피티
- 리뷰
- 데이터
- 빅데이터
- 머신러닝
- 패캠챌린지
- 패스트캠퍼스후기
- airflow
- 직장인자기계발
- ChatGPT
- nlp
- 딥러닝
- 자동매매프로그램
- Python
- 패스트캠퍼스
- 태국여행
- 파이썬
- 분석
- It
- Ai
- 파이썬을활용한시계열데이터분석A-Z올인원패키지
- 데이터분석
- 독서리뷰
- API
- DAGs
- 활성화함수
- 직장인인강
- 상관분석
- Today
- Total
데이터를 기반으로
Airflow Local Path 관련 이슈 정리 본문
다음 학습인 DAGs 폴더에 파이썬 스크립트인 .py 파일을 업로드 하고, airflow webserver 에서 확인해보면 업로드 되어있어야 할 스크립트 파일이 없는 상황이었다.
보통 이러한경우는 크게 2가지로 나뉜다고 한다.
1. 스크립트파일(.py) 파일 자체 코드가 실행했을 때, 정상적으로 실행이 안되는 경우
2. DAGs 경로들이 제대로 인식되지 않은 경우
우선, 첫 번째 스크립트 파일을 뜯어보았다.
책 예제에서 보여주는 'download_rocket_launches.py' 파일이었고, 실행해보니 start_date 관련해서 오류가 발생했다.
(해당 코드는 책에서 제공되는 git 을 로컬에 clone하여 받은 파일이다.)
Error Message :
RemovedInAirflow3Warning: Function `days_ago` is deprecated and will be removed in Airflow 3.0. You can achieve equivalent behavior with `pendulum.today('UTC').add(days=-N, ...)`
[ 기존 코드 ]
dag = DAG(
dag_id="download_rocket_launches",
description="Download rocket pictures of recently launched rockets.",
start_date=airflow.utils.dates.days_ago(14),
schedule_interval="@daily",
)
[ 수정 코드 ]
local_tz = pendulum.timezone("Asia/Seoul")
dag = DAG(
dag_id="download_rocket_launches",
description="Download rocket pictures of recently launched rockets.",
# start_date=airflow.utils.dates.days_ago(14),
start_date=pendulum.today('UTC').add(days=-1).replace(tzinfo=local_tz),
schedule_interval="@daily",
)
수정 코드로 반영하여 직접 실행하니, 해당 코드가 잘 돌아간 것을 확인할 수 있었다.
그럼에도 Web server에서는 해당 스크립트 Dag가 보이지 않았다.
하여, 2번째 방법을 시도해보았다.
2번째 방법도 2개 경로 부분을 수정해줘야 했다.
- 'airflow.cfg' 파일의 dags 경로 수정
- 로컬 터미널에서 export 로 airflow home 설정
위 dags_folder 부분을 올리고자 하는 dags 가 존재하는 파일 경로로 바꾸었다.
export AIRFLOW_HOME=/Users/yooinho/Desktop/study/00.airflow/home
해당 명령어로 export 해서 체크해보았다.
(추후 알게된 사실이지만...export 하면 해당 shell 에서만 적용된다는....)
우선 위 2 순서를 마무리 하고 다시 실행해보니...여전히 보이지 않고 있었다.
[ In My Case ]
1. airflow dags list 명령어를 통해 현재 해당 Dags 가 어디서 불러오는지 확인
→ 'download_rocket_launches.py' 파일이 보이긴 하는데 왜 못 불러오는 건지...이해가 안되는 상황
→ airflow dags list-import-errors 해당 명령어로 import 에러를 확인
뭔가....경로가 꼬여도 단단히 꼬인 느낌이 들었다.
→ 우선 중복되어 있는 것 하나를 제거하고 나니 에러 메시지가 보이진 않았고, 여전히 Web server에서는 보이지 않고 있다.
2. 실제 airflow가 바라보고 있는 경로는 무엇인지 확인
→ airflow config list 명령어를 통해 실제 경로 확인
→ 보면 내가 바꾼 dags 폴더 빼고는 모두 다 다른 airflow home을 바라보고 있는 것을 확인했다.
→ airflow info 명령어를 통해서도 확인이 가능
3. home 을 바라보는 경로들을 수정
→ vi ~/.bash_profile 에서 export를 수정하고, 적용 후 재 실행
모든 경로들이 일치한 것을 확인할 수 있었다.
'스터디 > Apache Airflow' 카테고리의 다른 글
Airflow Webserver 실행안될 때 (0) | 2023.06.02 |
---|---|
Operator 파악하기 (0) | 2023.05.01 |
Airflow DAG 와 실행 개념 (0) | 2023.04.07 |
Airflow 개념 및 설치 (0) | 2023.03.24 |
Apache Airflow 스터디 시작 (0) | 2023.03.24 |