인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

edu2님의 프로필 이미지

작성한 질문수

Airflow 마스터 클래스

외부 파이썬 함수 수행하기

airflow에서 DAG Import Errors

작성

·

153

0

아래와 같은 에러가 발생했습니다.

image.png

비슷한 질문의 답글을 확인하여 아래내용도 다시 봤지만 수정잘 되어 있고, 컨테이너 디렉토리내 common 폴더와 파일 여부를 확인하였는데도 똑같은 오류가 납니다.

  • docker-compose.yaml volumes 항목 수정

  • 컨테이너에 들어가서 plugins 디렉토리 연결이 잘 되었는지 확인

답변 2

0

김현진님의 프로필 이미지
김현진
지식공유자

안녕하세요 edu2님 !

혹시.. 함수명이 get_sftp 인데.. c 로 잘못쓰신거 아닐까요?

 

edu2님의 프로필 이미지
edu2
질문자

안녕하세요 빠르게 답변주셔서 감사합니다.
전혀 다른 부분의 문제였네요..! 오타있나 확인한다고 몇번을 봤었는데 왜 전 보이질 않았던건지 ㅜㅜ 감사합니다!

그런데 수정하고 docker down 후 재시동하여 airflow 웹서버에서 확인해보니, 이전과 같은 오류 메세지는 사라졌으나 DAGs에서 해당 dag가 보이지 않습니다.

재시동 및 새로고침을 하여도 확인이 안되는데 기다리면 해결될 문제일까요?

김현진님의 프로필 이미지
김현진
지식공유자

원래 오타는 본인은 잘 안보입니다 ^^

dag이 지금도 안보이나요?

스케줄러 컨테이너 안에 들어가서 조회했을 때 dag 파일들은 잘 보이나요?

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. edu2님

Airflow에서 발생하는 DAG Import Errors는 복잡하지만 해결할 수 있는 방법들이 있습니다. 주어진 정보를 바탕으로 몇 가지 체크포인트를 안내드립니다.

확인 사항

  1. Import 경로 확인:

    • common.common_func 모듈에서 get_sftc 함수를 임포트할 때 경로가 정확한지 확인하십시오. 모듈 이름과 함수 이름에 오타가 있을 수 있습니다.
  2. Docker 컨테이너에서의 파일 경로 확인:

    • Airflow 컨테이너 내 /opt/airflow/dags 디렉토리에서 dags_python_import_func.py 파일과 함께 common 디렉토리 및 common_func.py가 존재하는지 확인하세요.
    • 파일이 제대로 마운트되었는지 확인하려면 docker exec -it <컨테이너_ID> bash 명령어로 컨테이너에 들어가서 디렉토리 구조를 직접 확인할 수 있습니다.
  3. 파일 접근 권한 및 Python 패스:

    • 해당 파일과 디렉토리가 쉐어되었고 읽기 권한이 있는지 체크하세요.
    • PythonPath 문제가 있을 수 있으니 PYTHONPATH 환경 변수를 설정하여 추가적인 경로를 Python에서 인식할 수 있도록 합니다.
  4. 디버깅 및 로그 확인:

    • airflow schedulerairflow webserver의 로그에서 추가적인 오류 메시지를 확인하여 원인을 더 상세히 알아낼 수 있습니다.

관련 질문 링크

유사한 문제를 다룬 답변 Airflow Local Directory 확인 방법외부 Python 파일 연결 문제에서 해결 작업을 참고하면 도움이 될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

edu2님의 프로필 이미지

작성한 질문수

질문하기