AWS
-
Segment -> AWS Glue, S3, Kinesis, Lambda를 이용한 클라이언트 로그 스트림 구축About Data 2021. 7. 3. 20:00
1. 배경 기존 클라이언트 로그 환경 : Segment 서비스에서 Redshift로 바로 적재, 1시간 간격 문제점 1시간 이내 로그 조회 불가 파티셔닝이 되어 있지 않아 조회 속도 느림 이벤트 소스, 유형 별로 각각 테이블이 생성되어 유저의 행동 흐름을 파악하기 어려움 2. 작업 내역 Segment에서 Kinesis로 로그 전송하도록 설정 Kinesis에서 S3로 로그 적재하는 Firehose 데이터 전송 스트림 생성 S3 전송 시 디폴트로 연/월/일/시 4depth의 파티션이 구성됨 Lambda에서 S3에 로그가 적재될 때마다 특정 디렉토리 하나로 이동시키는 함수 생성 Kinesis에서 보내 주는 24시간 분량의 데이터만 파티션 없이 모아 두기 Glue Crawler로 테이블을 생성한 후 스키마를 일..
-
사이즈가 큰 csv데이터 S3 -> redshift DB로 Copy하기About Data 2020. 12. 18. 17:27
약 7만 row, 40mb정도 되는 파일을 redshift로 올리기 위해 가장 먼저 아래와 같은 python 코드를 사용했었습니다. df.to_sql(tablename, if_exists = 'replace', con=engine, schema = schema, index=False) 그런데 이렇게 하고 redshift 쿼리 로그를 보니 무려 한 줄씩 일일히 insert로 들어가고 있던..... 한 줄마다 평균 0.5초씩만 계산해도 9시간이 넘게 소요되는 속도입니다. 이건 아니다 싶어서 방법을 찾다가 S3 버킷에 파일을 올리고 redshift copy문을 찾아서 적용해 봤습니다. 먼저 내용이 있는 데이터프레임을 csv형식으로 S3에 올리기 위해 사전 작업을 합니다. csv_buffer = StringIO..
-
아이패드에 개발환경 구성하기 - Blink Shelletc. 2020. 7. 1. 03:43
작업 환경의 최적화를 타협하더라도 어디서든 서버에 접근하기 위해 노트북보다 훨씬 휴대성이 좋은 IPad를 이용하기로 했습니다. - 아이패드 Air 3세대 10.5" 이용 사용한 앱은 Blink Shell, 굉장히 유료입니다. Blink Shell: Mosh & SSH Client We had no choice. We had to build Blink or we were going to jump out the window in frustration over the tools we were using. We started by analyzing what the must-haves were and we ended up grounding Blink on these four concepts: • Fast re..
-
AWS 서버를 활용한 Jupyter Notebook + R 세팅하기 (2) Miniconda 활용etc. 2020. 7. 1. 02:35
2020/07/01 - [etc.] - AWS 서버를 활용한 Jupyter Notebook + R 세팅하기 (1) EC2 인스턴스 생성 AWS 서버를 활용한 Jupyter Notebook + R 세팅하기 (1) EC2 인스턴스 생성 그동안 Anaconda를 통해 로컬에서 사용했던 Jupyter Notebook을 어디서든 접속하고 싶다는 의욕(?)이 갑작스럽게 샘솟았습니다. 다양한 자료들을 참고하여 최근 버전에서 최대한 간단한 방법으로 세팅� datarami.tistory.com 이전 글에서 서버 접속까지 완료한 후, 본격적으로 Jupyter Notebook 세팅을 시작합니다. 보통 Anaconda를 이용해 설치하는 경우가 많았는데요, 서치를 하다 무거운 Anaconda 대신, conda와 python이 ..
-
AWS 서버를 활용한 Jupyter Notebook + R 세팅하기 (1) EC2 인스턴스 생성etc. 2020. 7. 1. 02:00
그동안 Anaconda를 통해 로컬에서 사용했던 Jupyter Notebook을 어디서든 접속하고 싶다는 의욕(?)이 갑작스럽게 샘솟았습니다. 다양한 자료들을 참고하여 최근 버전에서 최대한 간단한 방법으로 세팅하는 과정을 남겨 봅니다. - 이용 환경 : Macbook Pro 2017 13", Mac OS Catalina 1. AWS EC2 인스턴스 생성하기 AWS에 가입하면 1년 간 Free Tier를 이용할 수 있습니다. EC2 콘솔로 이동해 '인스턴스 시작'을 클릭하고 다양한 AMI 중에서 프리 티어 사용 가능한 Ubuntu Server 최신 버전을 선택합니다. 인스턴스 유형 역시 프리 티어 사용 가능한 t2.micro를 선택합니다. 인스턴스 구성으로 넘어가면 스토리지와 보안 그룹을 설정할 수 있습니..