'데이터 엔지니어'로 성장하기

정리하는 걸 좋아하고, 남이 읽으면 더 좋아함

operator 7

Airflow) 'Custom Operator' 실무 적용하기_s3,hook

스터디를 통해 배운 내용을 실무에 정리한 글이에요 책의 8장 내용 custom operator를 참고했습니다. airflow를 운영하면서 가장 불안했던 부분은 '관리가 힘든 것' 이었어요 Python을 사용해서 개발자/분석가 접근성이 높은 것은 좋은데, 자유도가 너무 높아서 산으로 가더라고요. 예상 독자는 아래와 같아요 airflow 도입을 고민하는 분 dag 관리가 산으로 가는 분 확산을 해야 하는 분 요약 문제: PythonOperator는 관리가 되지 않고, 높은 자유도가 오히려 독이 되고 있음, 분석: 재사용 가능한 모듈을 적용해야하고, 모듈은 커밋 전 코드 리뷰가 필요 적용: Custom Operator를 적용함 결과: 문제 발생 부분이 일원화되고, 반복 코드가 감소함 설명 1. 문제 Pytho..

Data/Airflow 2022.08.01

Airflow) 'Task 분리' 실무 적용하기 _k8s/spark

2022.05~07, 3달동안 진행한 airflow 스터디를 끝내고 실무에 적용한 내용 일부를 정리햇어요 airflow를 운영하면서 가장 불편했던 부분은 'Task가 분리되지 않은 것' 이었어요 어디서 문제가 생겼는지 추적할 수도 없는게 불편했어요 데이터 흐름이 어떻게 되있는지 알 수 없었어요 멱등성, 원자성도 지켜지지 않았어요 예상 독자는 아래와 같아요 airflow 도입을 고민하는 분 airflow를 이제 막 사용하시는 분 airflow 관리가 어려운 운영 담당자 요약 문제: airflow에서 spark job이 간헐적으로 실패함 분석: task의 분리가 필요함 적용: task를 분리함 결과: 문제 발생 시점을 알 수 있고, 불필요한 작업을 줄일 수 있게됨 설명 1. 문제 airflow에서 spark..

Data/Airflow 2022.07.04

Airflow) S3CopyObjectOperator 이용해서 copy 하기

s3 부분에서 에러가 간혹 발생되서, 핵심 로직과 분리하기로 결정 근데 이거는 파일 하나만 가능함. 폴더는 어떡하지 요약 상황 결과 참고 설명 상황 as-is python 코드로 모든 로직을 처리 단점 코드가 복잡해지고 관리가 되지 않음 image안에 코드가 들어가면 어디서 에러가 나는지 알 수 없음 갑자기 모든 것을 바꿀 수 없겠지만, 하나씩 바꿔가기로 함 to-be s3 copy,delete를 aws.operators를 이용하기로함 이유 핵심 로직과 사이드카 같은 로직 분리(복사/이동/삭제) s3 operator는 많이 사용하기 때문에 버그가 적을거라고 생각 결과 from datetime import datetime from airflow.models import DAG from airflow.ope..

Data/Airflow 2022.06.02

Kubernetes) prometheus-statefulset 삭제 안됨 이슈_prom-operator

가끔 pod,pvc,ns 등이 제대로 지워지지 않을때가 있다. pod는 --force로 지우면 되고 ns는 curl로 지우면 된다. pvc는 finalization을 주석하면 된다. 근데 prometheus 테스트할때, statefulset은 아무리 지워도 안지워진다. $ kubectl delete statefulsets prometheus-prometheus -n monitoring --force --grace-period=0 --cascade=false 이렇게 지원도 자꾸 살아난다. https://stackoverflow.com/questions/45965247/cant-delete-a-stateful-set-in-kubernetes Can't delete a Stateful Set in Kubern..

기타/K8S 2022.03.16

udemy)Airflow Operators Guide_3,4장 :: mightytedkim

SECTION 3: The most Common Operator | 1hr 12min 32. Introduction to Providers provider package - 제3자가 제공하는 것을 바로 적용할 수 있음 - 장점 : airflow의 업데이트를 기다릴 필요없음 s3의 경우 amz provider를 설치하면됨 - pip install apache-airflow-providers-amazon 설명은 operator 가이드에 들어가서 보면됨 astronomer의 홈페이지 - https://registry.astronomer.io/ 에서 검색 Provider 설치 예시 - requiremnets.txt airflow-provider-great-expectations==0.0.6 x-airflow-c..

Data/Airflow 2022.02.22

udemy)Airflow Operators Guide_1,2장 :: mightytedkim

https://www.udemy.com/course/apache-airflow-the-operators-guide/learn/lecture/21553710?start=0#overview kubernetes Pod Operator 공부할 때 참고했던 사람의 강의였기 때문에 신뢰가 감 ETL파이프 라인을 실무에서 세팅하는 방법을 급하게 알아야하기 때문에 좋음 심지어 버전도 2.x임, 회사에서 2.1.4사용하고 있어서 너무 좋음 총 7시간이고 해당 포스트는 1,2 섹션 메모용 Section 1: Introduction 5/5 10min 1. Important Prerequisites 2min specific operator에 대해서 배우는 강의 airflow 기본에 대해서 알고 있어야함 2. Install D..

Data/Airflow 2022.01.13

Airflow) K8S Pod 만들기_k8sPodOperator, helm

airflow 1.10 부터 적용되고, airflow 2.0에서 본격적으로 사용되는 KPO 자료가 없어서 2주간의 삽질기 ㅎㅎ 아 진짜 쫄깃 쫄깃하고, 안되서 도중에 argo를 파야하나 생각하고 휴.. 요약 airflow는 airbnb에서 만든 파이프라인 관리 어플리케이션입니다. 현재 라인, 쏘카 등에서 사용하고 있습니다. 저는 네이티브 환경의 kubernetes에서 airflow를 사용했어요. kuberentesPodOperator 설정 KubeneresPodOperator : DAG LOGGING : minIO, connection GIT-SYNC : secret, ssh Helm : values.yaml KubeneresPodOperator GIT-SYNC : secret, ssh LOGGING 작..

Data/Airflow 2021.11.12