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

elin님의 프로필 이미지
elin

작성한 질문수

Airflow 마스터 클래스

airflow에 필요 패키지 설치방법 문의

작성

·

37

0

안녕하세요!

유튜브 API로 댓글 받아온 뒤, 텍스트 처리 후 postgres DB에 업로드하는 DAG 생성 py파일을 스터디 중에 있는데요.

텍스트 처리할 때 필요한 아래 패키지를 설치하려고 다음과 같은 시도를 했습니다.

# wsl에서 root 계정으로 진입

sudo docker exec -u root -it <계정명>-airflow-webserver-1 /bin/bash

 

# 필요한 패키지 설치

apt-get update

apt-get install default-jdk -y

 

#Airflow 사용자로 전환

su - airflow

#패키지 설치

pip install JPype1

pip install konlpy

#컨테이너 종료 및 재시작

sudo docker-compose down

sudo docker-compose up

 

하지만 airflow UI에서는 다음과 같은 에러로 DAG를 만든 py파일이 보이지 않습니다.

Broken DAG: [/opt/airflow/dags/youtube_to_postgres.py] Traceback (most recent call last): File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed File "/opt/airflow/dags/youtube_to_postgres.py", line 5, in <module> from konlpy.tag import Okt ModuleNotFoundError: No module named 'konlpy'

 

 

필요한 패키지를 설치하는 방법이 잘못되었을까요?

제가 설치해야하는 것들을 설치하는 방법을 알려주시면 감사하겠습니다!

apt-get install default-jdk -y

pip install JPype1

pip install konlpy

답변 1

0

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

안녕하세요 elin 님

도커 컨테이너는 휘발성입니다. 즉 내렸다가 올리면 기존에 갖고있던 내용은 사라집니다. Elin님이 pip install한 내용도 사라지게 됩니다.

그래서 도커 이미지 자체에 pip install한 내용을 심어줘야 합니다. 그러려면 도커 이미지 빌드를 해야하는데, 도커 이미지 빌드하는 방법은

섹션9. Connection & Hook 에서 더 많은 Provider 확인 & Connection type 추가하기에서 볼 수 있습니다. 이 내용을 아직 안보셨으면 이 내용 먼저 보세요.

그리고 나서 만든 이미지를 바라보고 올라오도록 dockr compose 파일을 수정해주시면 됩니다.

좀 어려울 수 있는데 한번 시도해보세요 ^^

elin님의 프로필 이미지
elin

작성한 질문수

질문하기