본문 바로가기
[AWS]/AWS 기타

S3를 DB처럼 SQL로 조회할 수 있다고? - Amazon Athena로 S3에 저장된 로그 쿼리하기 (S3 & Athena & Glue)

by SAMSUNG CLOUD-OKY 2022. 4. 11.
반응형

 

 

 

 

 

##  GLUE - 스키마 생성시 사용

 

## AWS Glue Crawler 를 사용해 S3버킷에 저장된 로그의 스키마 생성

 

 

 

## S3버킷 생성

 

- 샘플로그 업로드

 

 

## GlueCrawler 를 사용하여 스키마와 테이블 생성

 

- 크롤러 추가 클릭

 

- 데이터베이스 추가

 

- 크롤러 생성 완료 --> 선택하고 실행 클릭

 

- 55초 후에 테이블 추가됨

 

- 데이터베이스 -> 테이블 -> rubywave_athena_log_test 테이블 생성 (버킷명과 동일)

 

 

 

 

 

## Athena 를 활용하여 쿼리 수행
- 첫 번째 쿼리를 실행하기 전에, Amazon S3에서 쿼리 결과 위치를 설정해야 함.
- 설정 --> 관리 클릭
   : 버킷 새로 만들거나 기존 버킷 사용 가능

 

 

 

 

- 다시 편집기로 이동
   : 데이터베이스 선택 (demo-athena-log)
   : 테이블 미리보기 선택

 

 

 

 

- bob 의 최근 실행내용 쿼리문 조회
SELECT * FROM "demo-athena-log"."rubywave_athena_log_test" where user_id='bob' order by time desc

 

 

 

- bob 의  자유게시판 최근 실행내용 쿼리문 조회
SELECT * FROM "demo-athena-log"."rubywave_athena_log_test" where user_id='bob' and board_name='free' order by time desc

 

 

 

- bob 이  insert 를 몇번 했는지 카운트
SELECT count(*) FROM "demo-athena-log"."rubywave_athena_log_test" where user_id='bob' and action='insert'

 

 

## 테이블 조인은 불가!!

 

 

 

 

 

출처 : 

https://www.youtube.com/watch?v=VDqToPfbuok

반응형

댓글