본문 바로가기

220211금 - Astronomer의 다양한 Dag example 저장소 Aiflow operator를 검색하다가 astronomer의 dag example 페이지를 발견했다. 카테고리별로 dag 예제가 잘 분리되어 있고 클라우드시스템과 연계된 dag들을 많이 보인다. - https://registry.astronomer.io/dags data pipeline쪽 토픽을 찾다보면 저 astronomer도 상당히 자주 눈에 띈다. 눈에 띈다는 얘기가 나온 김에 검색을 하다보면 snowflake도 상당히 눈에 많이 띈다. 찾아보니 클라우드 DW 관리 시스템이다. 한국 회사 스텍에서는 아직 본 적이 없어서 찾아보니 작년 11월 말에 스노우플레이크가 한국에 진출한다는 기사를 확인할 수 있었다. 아마도 대기업들이 어느순간 하나 둘 스노우플레이크를 도입하고 성공적인 관리 사례를 발표하면 ..
220210목 - 데이터 탐색과 파이프라인 구조 만들기 아이고고 몸이 여러 개였으면 좋겠다...새로운 일정과 프로젝트 진행과 하루하루 열심히 달리고 있음. ELT pipeline을 만들기 위해 데이터 선택과 간단한 분석, 이에 따라 데이터추출 파이프라인을 만들고 있다. 진행과정: 데이터 선택 → (데이터 분석 ↔ 어떤 데이터를 가공할 것인지 정리 ↔ 파이프라인 설계) 괄호 부분은 계속 루프를 돌면서 파이프라인을 쌓아갈 예정이다. 데이터를 요리조리 충분히 맛보고 작업을 하고 싶지만 그렇게 되면서 파이프라인 작업이 늦어질 것 같았다. 파이프라인 운영에 좀 더 초점을 맞추고 있어서.. 처음엔 테스트겸 비교적 단순한 작업이라도 파이프라인을 하나하나 만들면서, 추가적인 데이터분석을 통해 추출해보고자 하는 데이터 파이프라인을 쌓자. 작업하면서 추가적으로 DB의 테이블도..
220206일 - ELT(or ETL) 파이프라인 만들기 #1 바로 전에 apbot을 스케줄러에 올리는 작업을 통해 airflow에 입문을 했으니 이번에는 보다 여러 테스크가 들어간 DAG를 생성해보려고 한다. apbot은 원래 airflow를 염두에 두고 만든 것은 아니었기 때문에 글 발행 스케줄 작업이 순조롭지만은 않았고, DAG도 단일테스크였다. 하지만 앱을 airflow를 통해 관리하게 될 때 어떤 문제가 생기고 어떤 식으로 관리하는 게 효율적인지 생각해볼 수 있고, DAG와 Airflow 설정을 들여다볼 수 있었다. 또한 곁들여서 GCP와 같은 SaaS와 오케스트레이션 툴인 쿠버네티스도 입문할 수 있었다. 쿠버네티스의 기술은 차차 공부해가야 하겠지만 사용법은 도커와 흡사해서 그나마 다행인 듯 하다. GCP는 한번 사용하다보니 클라우드에서 제공하는 다양한 서..
220206일 - apbot airflow 작업 완료 airflow를 이용해 apbot 의 글발행을 자동화했다. 처음에는 도커로 띄운 로컬 airflow에서 작업하다 worker에서 apbot를 구동하는 데 환경설정 문제에 부딪혔다. 그래서 이리저리 찾다가 apbot app & 환경설정을 도커 이미지로 만든 후 이미지를 실행할 수 있는 operator를 실행하기로 했다. 처음으로 찾은 것은 KubernetePodOperator 였다. airflow 쿠버네티스 환경에서 사용하는 회사들의 글들을 읽어보다가 찾은 것이었는데, 쿠버네티스와 클라우드도 겸사겸사 사용해볼 겸 로컬에서 GKE로 airflow 환경을 옮겼다. 하지만 이 시도는 결국 보류하게 되었다. 쿠버네티스 환경에 익숙치 않으니 테스트와 삽을 들고 있는 시간이 길어지면서 과금문제가 생겼기 때문이다. 다..
210205토 - Helm 정리 에어플로우를 클라우드 서비스에서 사용해보겠다고 시도했다 며칠간 상당히 많은 난관에 부딪혔다. 특히 devops에서 힘든 점은 사용하는 법만 알면, 에러가 났을 때 에러 찾기가 쉽지 않다는 점이다. 짬바로 당장은 어떻게 해결해도 전체적으로 구조를 이해 못 하면 돌아가도 왜 돌아가는지 모르고 안 돌아가면 왜 안 돌아가는지 알 수없는 상황이 벌어진다. 이게 내가 만든 앱이나 작은 단위의 알고리즘을 이용해 파이프라인을 만드는 것과의 차이 아닐까...회사가 클 수록 devops/파이프라인 설계/분석 업무가 잘 나눠져 있겠지만 대부분은 저 세 단계중 최소 두 개 이상은 하기를 원해서 devops도 회사마다 정도는 다르겠지만 피해갈 수는 없는 것같다.처음에는 도커와 비슷한 사용법이기 때문에 쿠버네티스를 사용해보기 위..
210204목 - gke에 airflow 설치하기 로컬에서 도커로 airflow 테스트를 하다 GKE 위에서 airflow 작업을 하기로 했다. 그 이유는 다음과 같다. 클라우드 서비스를 주로 쓰는 분위기 요즘은 효율적인 서비스, 자원 관리에 쿠버네티스를 주로 사용하므로, 쿠버네티스 위에서 서비스를 할 수 있는 법을 알고자 함. 이 작업을 하긴 헀지만 여러 가직 선행지식이 필요함을 느꼈다. 쿠버네티스와 관련 툴 (helm) 사용법 이 분들의 개념과 구조 쿠버와 helm 차트의 yaml 파일 작성법 커맨드 gcloud 커맨드에 익숙해지기 클러스터 생성시 설정내용 작업하면서 배운 것들은 어느정도 습득을 하게 되면 프로젝트 등에서 툴을 사용하는 데는 문제가 줄어든다. 하지만 지식을 파편적으로 가지고 있게 되어서 전체적으로는 그 툴에 대해 모르면서 안다고 생각..
210131월 - GKE 사용해보기 + 쿠버네티스 노드, 파드 개념 #1 쿠버네티스도 결국 써보는구나. 클라우드라 간편해서 좋다. 과금은 좀 무섭지만..그 다음 작업에는 도커파일로 커스텀 도커이미지 생성→ 이미지 컨테이너 레지스트리에 올림→ 쿠버에 airflow 올리기→ 오퍼레이터 테스트 일단 로컬에서 작업 다 되면. 이번 작업:google cloud sdk 설치→ kubectl 설치→ sample 이미지를 이용해서 container registry에 올림 → deploy→ service→ service, deployment 삭제→ 그다음 pod 삭제 Google Cloud sdk 설치 https://cloud.google.com/sdk/docs/quickstart sudo apt-get install apt-transport-https ca-certificates gnupg..
210130일 - airflow 작업 실패 기록? 작업 순서 수정 1. 도커파일을 빌드해서 도커를 앱의 환경설정에 먼저 맞추고 올리자. 로컬에서는 airflow를 계속 올려서 사용하니까 다른 앱이 나오면 또 그 환경설정에 맞게 도커파일을 빌드해서 새로 띄워야 한다. 쿠버네티스를 이용하면 worker가 필요할 때마다 pod를 띄워서 작업할 수 있는 듯. 리소스를 필요한 만큼만 사용하니 좋고 원하는 이미지를 사용해 pod를 띄울 수 있어 좋다. 2. 여러 작업들이 앱에 포함되어 있어서 계속 문제를 일으키니, 앱의 기능을 분리해서 airflow task로 넣어야 할 듯 (적어도 data나 log기록하는 부분은) 궁금한 점: task1에서 env작업을 했음 → 그럼 연결되는 task2에서도 저 설정한 환경변수가 적용되어 있는가? 한 dag에 설정되어 있는 ta..