data
-
Airflow로 마케팅 데이터 파이프라인 관리하기About Data 2021. 7. 9. 14:20
아래 이미지는 현 회사에서 관리하고 있는 ETL 파이프라인 중 마케팅 Summary data에 관한 Airflow DAG 그래프입니다. 마케팅 데이터 파이프라인의 구성 1. 소스 데이터 입수 위의 DAG에는 포함되어있지 않지만, 광고 매체의 보고서 API를 호출하거나 서비스 DB에서 소스를 추출하는 스케줄도 에어플로우로 관리합니다. 2. 가공 및 적재 위의 DAG에서 가장 처음으로 실행되는 두 개의 Task인 userid_mapping >> userid_mapped_logs에 해당합니다. 이 Task는 log 데이터에서 로그인 전 생성되는 anonymous_id와 로그인 후 기록되는 user_id를 매핑해서 특정 유저가 로그인하기 전의 로그까지 해당 유저의 기록으로 연결해 주는 역할을 합니다. 다음으로 ..
-
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로 테이블을 생성한 후 스키마를 일..
-
AWS 서버를 활용한 Jupyter Notebook + R 세팅하기 (3) R 연동하기etc. 2020. 7. 1. 02:47
2020/07/01 - [etc.] - AWS 서버를 활용한 Jupyter Notebook + R 세팅하기 (2) Miniconda 활용 AWS 서버를 활용한 Jupyter Notebook + R 세팅하기 (2) Miniconda 활용 2020/07/01 - [etc.] - AWS 서버를 활용한 Jupyter Notebook + R 세팅하기 (1) EC2 인스턴스 생성 AWS 서버를 활용한 Jupyter Notebook + R 세팅하기 (1) EC2 인스턴스 생성 그동안 Anaconda를 통해 로컬에서 사용.. datarami.tistory.com Jupyter Notebook 설치가 완료된 후, 간단한 방법으로 R을 연동합니다. conda install -c r r-irkernel IRkernel 패키..