Airflow(GCP Composer) 에서 KubernetesPodOperator 사용
2023. 4. 23. 13:27
Data/Data Engineering
Airflow(Google Composer2) 를 활용해 워크플로우 오케스트레이션을 하고 있습니다. 최근 사내 파이프라인에 DBT 를 도입하다보니 composer 2의 기본 패키지 의존성과 DBT의 패키지 의존성간에 충돌이 있기에 컨테이너 기반으로 DBT 를 활용하도록 KubernetesPodOperator를 고려하였습니다. 본 문서는 비공개 환경의 k8s(GKE) 기반 airflow(GCP Composer)에서 KubernetesPodOperator를 사용하는 방법에 대해 안내합니다. 참고로 composer 1 과 composer2 에서 사용 설정이 일부 상이합니다. 본 문서는 autopilot 으로 관리되는 composer2 환경에서 KubernetesPodOperator 사용법을 설명합니다. 환경 ..
좋은 에러메세지 작성 방법
2023. 1. 25. 23:52
Programming
이 글은 구글에서 작성된 Writing Helpful Error Messages 을 정리한 내용입니다. 에러 메세지는 왜 중요한가? 여러 상황에서 오류 메세지는 사용자의 잘못된 입력 또는 의도하지 않은 활용에 대한 경고와 예외처리 또는 제품의 결함 등으로 발생하기 때문에 사용자가 직접 해결할 수 있도록 돕는 역할을 한다. 때문에 에러 메세지는 예상하지 못한 작동 상황에서 사용자로 하여금 문제를 해결할 수 있는 가장 첫번째 이정표이자 개발자와의 상호작용 역할을 수행한다고 볼 수 있다. 좋은 오류메세지는 다음과 같은 특징을 갖는다. 긍정적인 사용자 경험 제공 쉽게 접근하여 실제로 실행 가능하다 문제 해결을 위한 지원 작업을 줄이고 사용자가 직접 해결할 수 있도록 함 공통 오류 처리 규칙 실패 상황을 넘어가선..
Airflow 사용 시 AssertionError: daemonic processes are not allowed to have children 의 해결
2022. 10. 10. 23:37
Data/Data Engineering
현상 파악 Airflow 2.0 버전 대에서 concurrent.futures.ProcessPoolExecutor 사용 시 AssertionError: daemonic processes are not allowed to have children 에러를 경험하였다. (local , celery, kubernates 모두 같은 현상을 재현할 수 있었음 ) 리서치 결과 정확히는 multiprocessing 패키지에서 발생하는 문제라는 것을 알 수 있었다. concurrent.futures python 작업 시 multiprocessing이나 multithread 작업을 위해 자주 사용하는 패키지로 사진의 에러를 발생시킨 것은 ProcessPoolExecutor 사용 시 경험했다. 이 ProcessPoolExe..
[RL] 마로코프 의사 결정 과정
2022. 9. 9. 22:27
Data/ML
강화 학습이란 인공지능 학습의 방법론인 머신러닝(ML)의 한 계통으로 일반적인 지도 학습과 비지도 학습과는 다른 계통의 학문으로 DP(dymamic programming), MDP(markov decison process)와 같은 개념에 뿌리를 두고 있다. 일반적으로 AI 의 발전은 단순한 계산(computing) 이 아니라 판단(estimation), 의사결정(decison), 창작(creation)을 기계가 행하도록 기대하는 행위인데, 강화 학습은 특히 의사결정(decison)에 집중한다. 지도 학습 데이터와 레이블의 쌍이 주어지면 기계가 새로운 데이터에 레이블을 붙이는 방법을 학습하는 것 즉 문제와 정답을 제공하고, 새로운 문제가 등장하면 "판단"하게 만들고자 함 대부분의 회귀모델 CNN과 같은 방..
Snowflake 가 준비하고 있는 새로운 패러다임. Unistore
2022. 9. 4. 18:15
Cloud&Tools
금번 snowflake에서 주관한 Data cloud world tour에 참가했다가 인상 깊은 세션을 보게 되어 해당 세션 내용을 기록한다. unistore는 snowflake와 adobe 가 함께 개발 중인 idea로 작성하는 현재는 priviate test 가 진행 중이며 한국에는 2023년 상반기 beta , GA는 2023년 후반기에 예정되어 있다. 현재까지 일궈낸 성과는 아래와 같다고 한다. 분석 워크로드에 대한 고성능을 유지 높은 동시성(100 ~ 1000 QPS)과 응답 시간(50~100ms) GDPR 규정 준수 지원 시스템의 확장성과 손쉬운 관리 및 사용기능 제공 현세대 데이터 베이스 운영 전략과 문제 대부분의 회사는 자사 서비스와 데이터의 특징과 환경에 맞게 cloud 환경을 사용하거나..