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

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

airflow 30

글또) 리허설 없었으면 망신당했을 글또콘 발표_Airflow Bad Practice 걷어내기

글또콘 발표 1주일 전 리허설을 했어요! 피드백 적용으로 바뀐 Before/ After에 대해서 기록한 글입니다 :) 이게 초안 PPT 인데, 지금보니 부끄러워요. 성의도 없어보이구요. 이게 피드백을 적용한 후의 PPT에요 예상 독자는 글또콘 발표를 생각하시는 분 발표 리허설& 피드백이 무엇인지 궁금하신 분 성윤님의 발표 컨설팅 맛보기가 궁금하신 분 입니다 :) "글또콘 후기"는 아래 글을 확인해주세요 https://mightytedkim.tistory.com/156 글또) 글또콘 발표 후기(리허설/피드백)_Airflow Bad Practices 목요일에 글또콘에서 발표를 했어요 최근에 관심있어서 스터디를 했던 Airflow에 대해서 발표를 했는데 준비 과정과 느낀 점에 대해서 기록하려고 해요 예상 독자..

커뮤니티/글또 2022.08.29

글또) 두근 두근 글또콘 발표 후기_Airflow Bad Practices

글또콘에서 Airflow Bad Practice 발표를 했어요! 오랜만의 발표라 그런지 떨리더라고요ㅎㅎ 발표 주제는 Airflow를 도입하고, 1년 전에 내가 하지 않았으면 하는 사례들을 공유했어요 예상 독자는 아래와 같아요 글또 신청을 고민하시는 분 다음 글또콘 발표를 고민하시는 분 입니다. 1. 마켓 컬리 도착 먼저 마켓컬리 18층 라운지에 미리 도착했고, 7시 20분에 글또콘이 시작했어요 버스타고 오다가 PPT에 오타를 발견해서, 성윤님 맥북에서 좀 수정하고. 데이터 엔지니어 자리에 앉아있었어요 곧 많은 분들이 오셨고, 뭐하시는 분이냐, 아 그 글쓰신 분이구나 하고 수다타임을 가졌구요 그러다가 금방 시간이 흘러서 성윤님이 사회를 보시고, 첫 발표를 바로 진행했어요 성윤님의 사회와 발표가 끝나고 저를..

커뮤니티/글또 2022.08.27

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

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

Data/Airflow 2022.08.01

Slipp) Airflow 2.0 스터디 후기_22기

airflow 스터디가 끝나서 후기를 작성해보려고 해요 (MBTI 극J인 조장을 만나서 고생하신 팀원들께 다시 감사합니다) 3개월 동안 진행했던 'Airflow 2.0' 을 통해 얻은 것을 정리했어요 스터디를 통해 저희가 무엇을 배웠는지를 이야기해보려 해요 이 포스팅의 독자는 아래와 같아요 airflow 스터디가 어떻게 진행되는지 궁금하신 분 책 내용이 궁금하지만 직접 보기는 망설여지시는 분들 구성 스터디 소개 스터디 회고 실무 적용 마무리 1. 스터디 소개 'slipp X 우아한 스터디'를 통해 스터디원을 모집했고, 어마어마한 선배님들이 신청을 해주셨어요. 주제: Airflow 2.0에 익숙해지고 상황별 사례 공유하기 목표: 배워서 실무에 적용해보기 산출물: 챕터별 스터디 내용 + Q&A 모음 자료: ..

Data/Airflow 2022.07.29

글또) 7기 다짐글(2022.05 ~ 2022.11)_airflow

벌써 3번째 다짐글이네요 이 포스팅의 독자는 아래와 같아요 글또 가입을 고민하시는 분 글또 7기를 같은 그룹 분들 중 제가 궁금하신 분 글또 바이럴에 도움이 되기를 바라면서 아래 3가지 내용을 준비했어요 글또를 통해 얻게된 좋은 습관 5,6기에 작성했던 글 7기에 작성하게될 글 1) 글또를 통해 얻게된 좋은 습관 글또 덕분에 여러 습관을 얻게 되었어요 주기적으로 글쓰는 습관 피드백 받을 걸 생각하고 글쓰는 습관 어떻게 효과적으로 피드백을 줄지 생각하는 습관 아직도 메모처럼 블로그에 글을 작성하고 있지만, 매 기수마다 발전하는 저를 볼 수 있어요. 그리고 어떤 글을 썼는지 목차를 보며 그 동안 어떤 기술에 제가 관심이 있엇는지 볼 수 있어 좋아요 2) 5,6기에 작성했던 글 21년에는 elk, k8s를 공..

Data/Airflow 2022.07.10

K8s) host명으로 내부 데이터 접근하기_spark,boto3,k8s

IP로 데이터에 접근하다보니, 불안해서 host명으로 수정했어요 k8s에서 작업하시는 분들께 도움이 되었으면 합니다 :) 요약 문제 : IP로 데이터 접근하니, 보안 리스크가 생김 상황 : spark image, jupyterhub, airflow 에 적용가능함 조치 : IP를 host명으로 대체함 결론 : 보안 리스크 줄이고, cluster 관리가 편해짐 설명 1. 문제 data에 IP로 접근해서 생길 수 있는 보안 이슈 발견 k8s cluster를 여러개 관리하다보니까, IP가 이제 꼬이기 시작했어요. 보안 이슈도 있었지만, 곧 신규 cluster 구축이 예정되어있어서 미리 변경하고 싶었어요 제가 편해야 시스템도 안정적으로 변하니까요ㅎ 2. 상황 일단 3가지 먼저, spark image/ jupyte..

기타/K8S 2022.07.07

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

Mlflow) python, airflow로 테스트해보기

mlflow를 설치하고 hello world를 실행해봤어요 모델러 입장에서는 git처럼 이력 관리를 할 수 있고, 엔지니어 입장에서는 api를 특정 시점으로 변경할 수 있어서 좋은 것 같아요 제가 생각한 장점은 일단 쉽고 이뻐요 - UI 가 이쁘다. - 모델간의 비교가 가능하다. - 모델 정보를 s3에 저장할 수 있다. (pickle, source, parameter, etc) 요약 1. k8s에 mlflow 설치 2. juptyterhub로 테스트 3. airflow로 테스트 4. 결론 설명 1. k8s에 mlflow 설치 mlflow-pgsql.yaml mlflow-pvc.yaml mlflow.yaml https://mightytedkim.tistory.com/55 2. juptyterhub로 테스트..

AI/MLOps 2022.06.26

Airflow) custom operator 만들기_s3 Prefix copy

+ 요즘 docker Image에 다 몰려있는 로직을 task로 쪼개는 작업을 진행하고 있어요. 처음부터 airflow를 공부하고 적용했어야했는데, 과거의 내가 원망스럽네요. 요약 hook/operator 공부한김에 자주 사용할만한 기능을 operator로 하나 만들었어요 from custom.s3.operators.S3CopyFolderObjectOperator import S3CopyFolderObjectOperator with DAG( 'hook-S3CopyFolderObjectOperator', ) as dag: S3CopyFolderObjectOperator( task_id="check_ready", aws_conn_id="CephObjectConn", source_bucket_name="hgk..

Data/Airflow 2022.06.12

Airflow) pod external sigterm으로 죽는 현상_해결못해서 retries함

요약 상황 원인 조치 설명 상황 sparkK8sOperator 사용할때 sensor가 poking하다가 갑자기 죽음 결과를 보면 정상 실행되는데, sensor가 로그를 가져오지 못해서 에러로 표시됨 [2022-06-01 20:01:18,396] {spark_kubernetes.py:121} INFO - Spark application is still in state: RUNNING [2022-06-01 20:02:18,402] {spark_kubernetes.py:101} INFO - Poking: spark-test-20220531t193000-1 [2022-06-01 20:02:18,424] {spark_kubernetes.py:121} INFO - Spark application is still i..

Data/Airflow 2022.06.02