inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Airflow 마스터 클래스

docker 폴더 관련 질문

해결된 질문

221

nathan

작성한 질문수 87

0

안녕하세요

좋은 강의 감사드립니다.

 

섹션 7 custom operator 실습(마지막 강의) 16:11 부분에 보시면요

폴더 구조를 아래와 같이 만들어놓으셨더라고요

 

폴더구조.PNG

 

조금 이해가 안되는게, 왜 dags 폴더를 airflow 바깥에도 만들어놓시고 안에도 만들어놓으신거죠?

logs는 또 airflow 폴더 밖에 있고요.

 

강의 16:16 에 보면, dags는 airflow 안에 있는 것을 사용하고 계신것 같은데, (2) airflow 밖에 있는 dags 폴더를 만드신 이유, 그리고 (2) 왜 logs 폴더는 dags, plugins 와 다르게 airflow 밖에 만드셨는지 가 궁금합니다.

vhfej.PNG

python 데이터-엔지니어링 airflow

답변 1

1

김현진

안녕하세요 nathan 님

WSL 홈 디렉토리에 있는 dags, logs, plugins 폴더는 airflow 처음 설치시 가이드대로 진행하다보면 mkdir 명령을 통해서 만들어지는 디렉토리입니다.

 

반면 홈디렉토리에 있는 airflow 디렉토리는 git clone을 통해 만들어진 디렉토리입니다.

그리고 git pull을 통해 $HOME/airflow 디렉토리안에 우리가 만든 dags, plugins 등의 파일들이 저장되게 되죠.

따라서 $HOME 아래의 dags와 plugins, logs 폴더는 삭제해도 됩니다.

그리고 $HOME/logs 폴더 대신 $HOME/airflow/logs 폴더를 사용하도록 yaml 파일을 변경하시면 됩니다.

 

nathan님이 헷갈리신 이유도 충분히 이해가 갑니다 ^^

git을 통해서 우리가 만들고 있는 대상은 dags, files, plugins 디렉토리인 반면, logs 디렉토리는 git으로 배포하는 대상이 아니기 때문에 logs 디렉토리는 $HOME/logs 로 둔거에요.

 

사실 실제 현업에서는 git에 올린 대상을 서버에 배포할 때에는 jenkins같은 배포 도구를 별도로 이용합니다.

jenkins같은 배포 도구를 이용하면 우리가 git push 했을 때 필요한 작업들이 자동적으로 이뤄지도록 도와줍니다. (아래 작업들은 보통 shell 명령으로 직접 작성하고, 당연히 커스터마이징 가능합니다)

  1. 배포할 대상 서버에 있는 디렉토리를 백업

  2. 배포할 파일에 대한 전처리 작업(개발/운영 정보에 대한 반영)

  3. 배포할 디렉토리 지정

등의 작업을 세밀하게 지정할 수 있습니다.

지금 실습하고 있는 환경에 예시로 설명하자면

$HOME/dags 디렉토리는 $HOME/dags.old 로 백업

$HOME/plugins 디렉토리는 $HOME/plugins.old 로 백업

$HOME/files/sqls 디렉토리는 $HOME/files/sqls.old 로 백업

 

개발/운영 서버로 구분되어 있다면 파일 내 접속정보나 계정, 경로 등을 개발 or 운영에 맞게 치환 후

$HOME/dags 디렉토리로 git의 airflow/dags 디렉토리 배포

$HOME/plugins 디렉토리로 git의 airflow/plugins 디렉토리 배포

$HOME/files/sqls 디렉토리로 git의 airflow/files/sqls 디렉토리 배포

 

등의 작업을 입맛에 맞게 구성하게 되요.

지금 하고있는 실습에서는 jenkins 같은 배포툴을 별도로 사용하지 않고 $HOME/airflow 디렉토리 밑으로 단순히 git pull 받고 있는 상황이라 이 부분 감안하시면 되겠습니다.

 

이해 되셨을까요?

 

pykrx 회원제 전환으로 인한 실습 불가

0

109

2

수료증 발급

0

81

3

에러 발생 관련 질문드립니다.

0

80

2

vscode 작업화면에 오류가 발생하지 않습니다.

0

69

2

plugins 폴더 생성

0

74

2

WSL에서 git push 가 안되요 ㅠ

0

112

2

chatGPT&Airflow로 블로그 자동 포스팅하기 는 Deprecated 가 필요합니다.

0

66

2

github에 회원가입이 안되는데 원인이 뭔지 모르겠어요 ㅠ

0

721

2

설치중인데 venv를 꼭 써야할까요?

0

124

2

설치 버전 관련 질문입니다.

0

68

1

우분투 버전 다운받아야하는데 어떤걸로 설치해야할까요?

0

62

1

DAG 만들기 중 airflow 패키지 로드 에러

0

106

2

3.0에서도 수업노트가 성립하는지 확인 부탁드립니다!

0

95

3

task_id 사용법이 뭔가 바뀐 것 같습니다.

0

76

3

email operator 오류 관련

0

66

2

plugins 폴더 관련

0

95

2

bash operator 관련 문의입니다

0

78

3

스케쥴러 - DAG 파싱 부하 줄이는 과정 질문

0

79

2

Dags refresh 주기 관련 질문

0

123

2

wsl 관련 질문입니다.!

0

73

2

macOS에서 docker 설치

0

93

2

템플릿 변수에 대한 오류

0

61

2

custom_image 디렉토리 문의드립니다.

0

54

2

ETL 인터뷰 관련 문의

0

102

2