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

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

slipp 14

Slipp)사이드프로젝트_센서 실시간 저장_1(strimzi,questdb,fastapi)

요약 '토이프로젝트 만들기' 스터디를 신청해서 진행 중입니다. 1차 목표인, 휴대폰 데이터 스트리밍은 성공했고 그 후기를 정리했습니다 예상 독자 이 친구가 뭘 수정했나 궁금하신 분 스마트폰의 센서 데이터를 수집하시려는 분 아래 블로그 포스팅을 고도화하고 싶으신 분 https://towardsdatascience.com/a-real-time-streaming-project-with-smartphone-data-7e838a1b009d 결과물 [주제 구상] - 무엇을 주제로 선택할까 휴대폰의 센서 데이터 수집 업무가 주로 실시간 데이터 파이프라인을 구축임데, 보내는 쪽의 데이터를 선택할 수 없는게 좀 아쉽더라고요. (공장에서 보내는 것을 그냥 받아야하니까ㅜ) 그래서 제가 선택할 수 있는 데이터는 무엇이 있을까..

커뮤니티/slipp 2023.05.21

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

Slipp) k8s 스터디 후기_21기

(후기) 코로나 기간이라 온라인으로만 진행된 건 조금 아쉬웠지만 스터디 내용이 실무에 많이 도움 되었어요 :) 요약 기간: 2021.08.10 ~ 2021.11.16 (7회) 주제: 쿠버네티스 시작하기 목표: 쿠버네티스의 기본 구조 학습 방식: '15단계로 배우는 도커와 쿠버네티스' 함께 읽기 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=252444358 15단계로 배우는 도커와 쿠버네티스 컨테이너 기술에 처음 입문하는 독자도 체계적으로 실력을 쌓아갈 수 있도록 도커부터 시작하여 쿠버네티스의 전반적인 기능을 기초부터 단계별로 학습할 수 있도록 구성되어 있다. 독자는 이 www.aladin.co.kr 내용 Slipp) K8S 스터디1주차_개념 잡기 https:..

커뮤니티/slipp 2022.07.09

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) 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

Slipp) Airflow2.0스터디_워크플로 트러거_4주차(6장)

이번 챕터는 평소 궁금하던 sensor에 대해서 공부할 수 있어서 재미있었어요. + TriggerDagRunOperator의 경우 복잡해서 사용안하려고 했는데, s3 이동 같은 작업은 클래스처럼 정의해서 사용할 수 있다는 이야기를 들어서 유레카였어요 요약 센서 : 특정 조건을 센서에 만족하도록 대기하기 트리거 : 서로 다른 DAG의 태스크간 의존성 설정하기 CLI/API : REST API 를 통해 워크 플로 실행하기 마무리 설명 1. 센서 : 특정 조건을 센서에 만족하도록 대기하기 로그를 당겨오거나, 작업이 언제 끝날지 기다리거나, hive 테이블에 파티션이 있는지 확인하는 작업에 활용 할 수 있어요 Sensor 특정 조건이 참인지 여부를 지속적으로 확인(polling)하는 특수 유형 오퍼레이터 필요한..

Data/Airflow 2022.05.28

Slipp) Airflow2.0 스터디_3주차(4/5장)

질문 타임이 1시간이나 있었음 https://www.slipp.net/wiki/pages/viewpage.action?pageId=3276808650952 요약 1. 4장 : 태스크 콘텍스트와 Jinja 템플릿 작업 2. 5장 : 태스크 템플릿 + 의존성 정의 3. 마무리 설명 1. 4장 : 태스크 콘텍스트와 Jinja 템플릿 작업 스터디원 중에서 airflow 사용 경험이 없는 분이 발표를 진행했는데 가닥을 잡는데 도움이 되는 챕터였다는 이야기를 들었습니다 {{ds}}, 증분 등의 실습이 많아서 그런 것 같습니다 ㅎ execution_date은 오버라이딩 되나? kwargs로 오버라이딩하면 **context에 오버라이딩 됨 https://mightytedkim.tistory.com/112 paramet..

Data/Airflow 2022.05.15

Airflow) context, kwargs 혼용 실습

airflow 공부하다가 궁금한게 잇어서, 하나씩 돌려봄 ㅎㅎ 요약 task Context 공부하다가 의문이 생김 테스트 **context, **kwargs 로 두개를 파라미터로 두면 어떻게 될까? execution_date를 변수로 명시하면 사용할 수 있다는데, **context 에서는 그럼 빠지는건가? execution_date 오버라이딩가능할까? 설명 1. task Context 공부하다가 의문이 생김 - execution_date를 변수로 명시하면 사용할 수 있다는데, **context 에서는 그럼 빠지는건가? - **context, **kwargs 로 두개를 파라미터로 두면 어떻게 될까? - execution_date 오버라이딩가능할까? 아래는 테스트할 때 사용할 기본 틀 from airflow..

Data/Airflow 2022.05.09