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

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

unho.chang님의 프로필 이미지
unho.chang

작성한 질문수

Airflow 마스터 클래스

dag 스케줄링 관련

해결된 질문

작성

·

282

0

안녕하세요? 좋은 강의에 진심으로 감사드립니다. 책으로 공부했으면 아직 헤매고 있을텐데, 친철하게 설명해 주셔서 그동안 들었던 강의를 바탕으로 어제 data.go.kr에서 기상청이 제공하는 대기정체지수를 다운로드 받는 dag을 만들어 수동으로 실행을 해보니, 수동으로는 csv 파일 생성까지 success가 되는 것을 확인하였습니다. 그런데 오늘 새벽에 자동으로 실행이 되도록 컴퓨터를 켜두었었는데, 아침에 보니 돌아가지 않았습니다. ㅠㅠ

DAG에 크론 일정은 "0 5 \* \* \*"로 주고 , start_date는 어제 날짜 2023. 11. 5. in_timezone('Asia/Seoul')로 주었었습니다. (매일 새벽 5시에 돌아서 전일자로 업데이트된 데이터를 받고자 하였습니다.)

airflow를 직접 사용해 보니 UTC와 KST가 혼재되어서 사용시에 헷갈리기도 하고, 실제로 제가 만들어 보니 권한 문제, 패키지 추가 문제 등 여러가지 난관에 봉착했었습니다만, 여기 질문 게시판을 참조하면서 모든 문제를 해결할 수 있었는데, 일정 셋팅 관련해서는 제가 아주 기본적인 airflow의 시간 개념을 잘 못 이해하고 있는 것 같아서 질문드립니다. 위의 두가지 말고 따로 확인해야 하는 사항이 있는지요? 여기 게시판의 첫번째 질문도 시간개념이었는데, 읽어봐도 제 입장에서는 제 문제 해결방법이 명확해 지는 것 같지는 않아서 이렇게 폐를 끼치게 되었습니다. 여담입니다만,

기상청에서 제공하는 API 데이터들은 1루치 정도만 제공되어서, 매일 접속을 해서 처리를 해두지 않으면 데이터가 사라져 버립니다. 수작업으로 하는 것이 예상보다 피곤하였고, 중간중간 잊고 지나치는 경우가 생겨서, 데이터의 완결성이 떨어지는 등 아쉬운 점이 있었습니다. 제 계획은 노트북을 출근전에는 꺼놓고, 퇴근후 집에와서 WSL에 airflow 도커로 올려서 새로 켜놓고, 새벽에 Dag이 일정대로 돌아서, 아침에 일어나면 데이터들이 제가 원하는 형태대로 정리되고, 이메일로 완료되었다고 노티를 받는 것입니다. 가능할 거라고 보시는지요?

답변 1

1

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

안녕하세요. unho.chang 님

강의를 잘 듣고 계시다니 기분 좋은 일이네요 ^^

혹시 airflow Meta DB 접속이 가능하신가요?

가능하시다면 dag 테이블을 한번 열어서 내용을 보시기 바랍니다.

image

그럼 다음번 수행일이 언제인지 쉽게 볼 수 있는데 next_dagrun_data_interval_end 가 언제로 나오는지요?

그리고 두번째 남겨주신 것에 대한 답변은

상황이 여의치 않으면 지금 하시는 대로(노트북 키고 끄고) 할 수 밖에 없지요 ^^ unho님께서 의지만 있으시다면 그렇게도 가능은 합니다. 그런데... 그런 방식으로는 2주일 이상 지속하시기는 힘들지 않을까 생각되요. 그래서 결국 쉽게 셋업할 수 있는 cloud를 많이 쓰지요 (하지만 Cloud가 또 생각보다 싸지는 않습니다)

공부를 하시는거라면 현재 상태대로 하셔야 하겠지만 서비스를 기획하신다면 결국 Cloud 이용 혹은 집 내부에 서버 하나 구축하실수밖에 없을 듯 합니다. (제 지인 중 집에 서버를 구축하여 서비스 하시는 분이 계십니다. 전기세가 많이 나온다라는 얘기를 하시더라구요)

말이 길어졌는데 일단 위에 next_dagrun 값부터 한번 확인해보고 남겨주세요 ^^

와 airflow에서 다음번 수행 날짜는 어떻게 볼 수 있는지 궁금했었는데 이미 그런 기능이 있었군요

unho.chang님의 프로필 이미지
unho.chang
질문자

제가 엊그제 메타DB확인하는 강의를 들어서 오늘 아침 5시 30분경에 들어가 확인해 보니

next_dagrun_data_interval_end가 2023-1108 05:00:00.000 +0900 으로 되어 있었습니다. 내일도 또 돌 것 같습니다. 어제 질문 올리고 나서 검색을 하다 보니, 그저께 저녁에 daily 스케줄로 05시를 지정했으니, 어제 새벽 5는 만으로 하루가 안되어서 안되었을 수 있다는 생각에 집에가서 그냥 노트북 켜고, 도커와 airflow를 올려놓기만 했는데, 아침에 예쁘게 작업이 완료되었고, 작업완료 이메일도 받았습니다. 선생님의 강의가 아니었으면, 이렇게 단시간에 저의 첫 airflow DAG 작업을 테스트 해보기 어려웠을 것이라, 다시한번 진심으로 감사드립니다. 앞으로는 메타DB확인을 생활화하도록 하겠습니다. 또 다른 여담입니다만, 제가 plain old 문과 출신이라 물어볼 사람이 없어서 그동안 에어플로우는 물론, 도커, shiny 등을 책으로만 보고 공부해서, 머릿속에 꾸겨져 들어가 있었는데, 선생님께서 직접 실습해 주시는 것을 보면서, 소화가 되어 쭉 펴지는 느낌입니다. 두번째 답변주신대로 그동안 제가 만들어 두었던 코드들이 DAG으로 잘 도는지 확인만 되면, 바로 클라우드로 가겠습니다. 어차피 가야할 길이니, 거기도 난관이 많을 것 같습니다만, 최대한 빨라 가는 것이 좋을 것 같습니다. 다시 한번 고맙고, 감사합니다.

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

작업이 이쁘게 완료되었다니 글에서 따뜻함을 느끼기는 오랜만입니다 ^^

그리고 문과 출신이어도 기죽을 필요 하나도 없습니다.

컴공과여도 코딩 못하는 사람도 많고 막상 코딩같은건 많이 배우지도 않습니다.

특히 IT쪽은 취업 이후 지속적인 공부 & 경험이 중요해서 경험상 비추어 봤을 때 신입사원 기준 공대생 vs 문과생 크게 차이 없습니다.

IT쪽 취업 생각이 있으시다면 NW, OS(리눅스), DB 등 기초적인 공부도 열심히 하길 바래요.

화이팅입니다 ^^

unho.chang님의 프로필 이미지
unho.chang

작성한 질문수

질문하기