본문 바로가기
반응형

Data52

KubernetesPodOperator으로 로컬 k8s에서 airflow 배치작업 만들기 로컬에서 mwaa airflow를 띄워보고 >> https://pearlluck.tistory.com/791 AWS MWAA local runner로 로컬에서 airflow 2.2 사용해보기 airflow DAG를 테스트해보는 환경이 없었다. 물론 DAG 코드가 간단해서 다행이지만 돌려보지도 않고 바로 staging에 반영을 해야하는 상황이였다. 심지어 나는 staging에 바로 머지할 권한도 없어서 매 pearlluck.tistory.com 로컬에서 쿠버네티스 환경을 구축해봤다. >> https://pearlluck.tistory.com/794 로컬 환경에서 쿠버네티스 구축하기 (kind, docker-desktop) 이전에 로컬에서 mwaa airflow를 띄워보았다. 직접 테스트해보고 구축해본 내용.. 2024. 1. 21.
로컬 환경에서 쿠버네티스 구축하기 (kind, docker-desktop) 이전에 로컬에서 mwaa airflow를 띄워보았다. 직접 테스트해보고 구축해본 내용은 아래의 글 참고^^ https://pearlluck.tistory.com/791 AWS MWAA local runner로 로컬에서 MWAA 사용해보기 airflow DAG를 테스트해보는 환경이 없었다. 물론 DAG 코드가 간단해서 다행이지만 돌려보지도 않고 바로 staging에 반영을 해야하는 상황이였다. 심지어 나는 staging에 바로 머지할 권한도 없어서 매 pearlluck.tistory.com 이번에는 로컬에서 쿠버네티스 환경을 구축해보려고 한다. 사실 가장 큰 목적은 이 로컬에서 띄운 mwaa airflow를 로컬 쿠버네티스 환경에서 사용해보는 것이다. 앞으로 아래와 같은 질문에 대한 답을 하나하나씩 찾아가.. 2024. 1. 15.
AWS MWAA local runner로 로컬에서 airflow 2.2 사용해보기 airflow DAG를 테스트해보는 환경이 없었다. 물론 DAG 코드가 간단해서 다행이지만 돌려보지도 않고 바로 staging에 반영을 해야하는 상황이였다. 심지어 나는 staging에 바로 머지할 권한도 없어서 매번 PR을 드린다. 그러다 단순한 오타나 따옴표 같은 에러라도 나는 날이면.....하하....^^;; 그래서 로컬에서 DAG 코드를 테스트해 볼 환경이 필요했다. 우리는 단순 ariflow가 아닌 aws의 mwaa를 사용한다. (오히려 좋아) 이와 같은 개발환경을 로컬에서 구축하고 DAG 코드를 테스트해 본 경험을 작성해보려고 한다. 사실 굉장히 간단한데 왜 지금까지 안해봤는지 모르겠다 ^0^ 들어가기에 앞서 우리 서비스의 AWS mwaa는 이렇게 staging과 prod만 있다. stagin.. 2024. 1. 7.
📖[Redshift][S3] 대용량 데이터 처리 고민: S3 Unload/Copy와 Redshift Specturm 외부테이블 대용량 데이터에 대한 고민 요즘들어 이런게 바로 데이터엔지니어링인가?싶은 부분이 있어서 기록해보려고 한다. 한창 개발중인 알고리즘은 최소 4주 이상의 사용자 행동로그를 기반으로 동작한다. 그런데 이때 이렇게 큰 대용량 데이터를 수집하고 처리하는데 아래와 같은 두가지 고민사항이 있었다. 1. 수집한 대용량 로그 데이터를 어디에 어떻게 저장할 것인가? 2. 분석하기 위해 대용량 데이터를 불러오는 가장 효율적인 방법은? 3. 최종 분석결과를 어디에 어떻게 저장할 것인가? 이러한 고민들을 엔지니어링 관점에서 어떻게 해결했는지 그리고 관련 기술에 대해 작성해보려고 한다. 1. 날짜기준으로 파티셔닝하여 s3에 unload한다 ( Redshift -> S3 ) 우리는 redshift에서 어찌저찌 수집 및 분석한 데이.. 2023. 4. 23.
[snowflake] Snowflake로 S3에 있는 데이터 COPY 해보기 우리는 redshift를 어떻게 쓰고 있는가? aws 데이터웨어하우스로 두가지 목적으로 사용하고 있다. 첫번째는 DS의 데이터 분석 작업용, product info나 event log 등 분석하기 위한 테이블들을 저장한다. 두번째는 배치작업용, 실제 서비스화하려는 알고리즘들을 개발하기 위해 대용량 데이터를 처리하는 목적으로 사용한다. redshift가 힘들어요 점점 데이터분석 작업 뿐만 아니라 배치작업들이 증가하고 있다. 특히나 대부분은 대용량 데이터를 처리하는 경우가 많다. 그런데 이걸 하나의 redshift에서 처리하다보니 redshift가 힘들어하는지 처리시간도 느려지고 물론 비용도 많이 나가고 있다. 그래서 일단은 최대한 여러가지 배치작업들을 동시에 처리하는걸 피하기 위해 배치 주기를 겹치지 않게.. 2023. 4. 9.
참고자료-DynamoDB 데이터 변경 이벤트 파이프라인 구축하기 https://medium.com/daangn/dynamodb-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B3%80%EA%B2%BD-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0-feat-kinesis-1733db06066 DynamoDB 데이터 변경 이벤트 파이프라인 구축하기 (feat. Kinesis) DynamoDB 데이터 변경 이벤트를 기반으로 AWS-Native 데이터 파이프라인 구축하기 medium.com 2021. 12. 27.
[Elasticsearch] 동작원리, shard와 replica를 몇개로 설정해야하는가? 이전에 이해한 개념을 바탕으로 이젠 원래 주 목적이였던 성능튜닝에 대해서 정리해보려고한다. 그 전에 es검색원리를 이해해야했다.(쉽지않다..) 검색하는데 어떤 영향이 있는지 알아아야 몇개로 설정할지 감이 잡힐테니까! 검색하는데 shard와 replicar가 어떤 영향을 미치길래 성능튜닝을 하는거지? 그래서 결국 primary shard와 replica를 몇개로 설정해야하는가? 참고로, Replica는 나중에 변경 가능하지만, primary shard는 인덱스를 처음 생성할때만 설정할 수 있다. (변경하려면 reindex해야함) https://localhost:9200/index명/_setting API를 통해서 primary shard와 replica 개수를 확인할 수 있다. 검색원리 일단 기본적인 원리.. 2021. 12. 23.
[Elasticsearch] 내부구조, cluster/index/replica/shard 개념정리 최근에 회사에서 elasticsearch를 써먹어보면서 성능튜닝을 몇가지 진행했다. 파라미터들을 조절하면서 결론적으로 뭐 이렇다는걸 대략적으로 보긴했지만 이런 의문이 들었다. es 성능은 shard개수보다 replica개수에 영향을 준다 왜? why? 특히 es 성능은 shard개수보다 replica개수에 영향을 준다 라는 이야기를 들었는데, 사실 나는 아직 shard랑 replica개념도 안잡혀 있어서 그런데 왜 그런지, 도대체 내부에선 어떻게 동작하길래 그런 결론이 나왔는지 궁금증이 생겨서 조금더 깊게 알아보기로 했다! 내부구조 먼저 전체적인 es의 내부구조를 살펴보면 이렇다. es가 '클러스터'를 구성한다고 하면 여러개의 '노드'들이 묶여서 있는 모습을 볼 수 있다. 그리고 각 노드에 데이터를 저장.. 2021. 12. 23.
Airflow DAG작성하고, webUI 살펴보기 (OpenWeather ETL) 최근 이걸 2021.09.08 - [데엔스터디5] Airflow Deep Dive 들으면서 airflow를 이것저것 보고 있다. 그래서 간단하게 살펴본 web UI에 대해서 기록해보려고 한다. 우선 Airflow는 파이썬기반의 데이터파이프라인 프레임워크이다. 그래서 데이터파이프라인을 DAG라고 작성하면서 쉽게 생성하고, 관리해주는데 유용한다. 특히나 web UI를 지원해줘서 어떤 데이터파이프라인이 언제 실행되고, 어떻게 실행되는지를 볼 수 있다. AirFlow의 DAG는 데이터파이프라인을 의미하는 하나의 단위이다. 하나이상의 Task를 가지고 있고, 그 각각의 task들은 실행순서를 가지고 실행이 된다. 예를 들어 내가 작성한 DAG 파이썬 코드를 리뷰해보자면.. openWeatherAPI를 통해 최근7.. 2021. 9. 11.
[텍스트분석3.2] BOW피쳐 벡터화 - TfidfVectorizer 요즘 추천시스템이랑 텍스트분석쪽에 관심이 생겨서 책을 찾아보았다. 사실 이미 한번 프로젝트(?)로 수행했지만 훑어보고 간단하게 넘어간것 같아서.. 다시한번 짚어보는 목적! 튼튼한 기본이 단단한 기초가 중요하니까! 아래의 내용은 파이썬 머신러닝 완벽가이드의 책의 [8.텍스트분석] 읽고 정리한 내용입니다 이전에 살펴본 텍스트분석 프로세스에 따라 두번째 단계인 피쳐 벡터화 작업! 를 살펴본다. 텍스트 사전준비 (텍스트 전처리) : 텍스트를 벡터로 만들기 전에 토큰화작업 피쳐 벡터화/추출 : 가공된 텍스트에서 피쳐를 추출하고, 여기에 벡터값을 할당하는 작업 ML모델 수립 및 학습/예측/평가 : 피쳐 벡터화된 데이터세트에 ML모델을 적용 이전에 BOW피쳐에 알아본 BOW피쳐 벡터화 첫번째 방법인 Count기반에 .. 2021. 9. 5.
728x90