- 챗봇 페이스북 페이지 바로가기
- 깃허브 레포지토리 바로가기
- 프로젝트 포스팅 목록
데이터 레이크(Lake)
시대의 변화에 따른 저장방식의 진화
구분 | Data Lake | Data Warehouse |
---|---|---|
Data Structure | Raw | Processed |
Purpose of Data | Not Yet Determined | In Use |
Users | Data Scientists | Business Professionals |
Accessibility | High / Quick to update | Complicated / Costly |
아키텍쳐
데이터 파이프라인
S3
버킷 생성
S3 적재
1 |
|
AWS S3 확인
프레스토(Presto)
- 스파크(Spark)의 단점이라 하면, 물론 스파크 SQL도 있지만 어느 정도 스크립팅이 필요한 부분이 있다.
- 다양한 멀티플(multiple) 데이터 소스를 싱글 쿼리를 통해서 진행 할 수 있다.
- 하둡(Hadoop)의 경우는 퍼포먼스나 여러가지 데이터 분석을 할 때 여러가지 이슈들이 있으며 이전 방식이기 때문에 최근에는 스파크와 프레스토로 넘어오는 추세이다.
- AWS는 프레스토 기반인 아테나(Athena)를 통해서 S3의 데이터를 작업할 수 있다.
서버리스(Serverless)
- 어떠한 요청이 들어올 때 서버를 띄우는데, 지속적으로 요청이 들어온다면 계속적으로 병렬적인 서버를 띄운다.
- 서버 안에서 용량을 정하는 것을 알아서 자동적으로 해결해 주므로 비용적인 문제를 보완한다.
- AWS에서 EC2 같은 경우는 서버 하나를 띄우는 것이고, 람다(Lambda)가 서버리스의 개념을 갖는 서비스이다.
- 아테나도 서버리스의 개념을 갖는 서비스이다.
AWS 아테나(Athena)
- AWS 아테나에서도 데이터 레이크의 시스템 형태로 데이터를 작업하더라도 쿼리를 통해 작업을 하려면 데이터 웨어하우스(warehouse)처럼 테이블의 형식을 만들어야한다.
- AWS 글루(Glue)를 쓰면 크롤러를 이용해서 저장되어있는 데이터의 로케이션에 들어가서 생성한다.
- 데이터를 S3로 파이썬을 통해 옮기고 아테나를 통해 테이블을 만들고 쿼리를 통해 데이터를 뽑아오는 부분을 진행할 것이다.
쿼리 위치
쿼리 실행
- 테이블과 파티션을 생성하고 리페어를 진행한다.
- 키와 벨류가 모두 리스트가 아닌 형태여야 한다.
1 |
|
1 |
|
- Partition dt를 잘 선택해야한다.
_col0 | _col1 |
0.6186399999999985 | -7.51500000000001 |