brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Dec 02. 2021

597. Amazon Athena 사용법

이론, 개념잡기

<1> Athena를 사용하여 S3에 쿼리를 날려 확인해보자

<2> 원시 데이터 쿼리

<3> 압축된 데이터 쿼리 가능

<4> 분할된 데이터 쿼리

<5> 열 기반 데이터 쿼리

<6> 삭제

<10> 같이 보면 좋은 자료 




<1> Athena를 사용하여 S3에 쿼리를 날려 확인해보자


아테나는 서버리스 서비스이다.

실행한 쿼리만큼 비용을 지불한다.  그래서 쿼리를 잘 실행해야 한다.

모든 쿼리를 대상으로 실행하면 그만큼 비용이 많이 나온다.



테스트 결과


1

압축된 데이터 쿼리 가능

압축은 시간이 좀 더 걸린다.


2

파티션을 해도 시간이 줄지 않는다. 

6개까지만 병렬처리 한다.


3

열 기반으로 하면 빠르다.

시간이 더 안걸린다. 빠르다.

열 형식은 하나의 열(블럭)만 읽는다.

스캔 데이터도 줄었다.

// 열 기반으로 사용하는게 좋다~




<2> 원시 데이터 쿼리


serivces >  athena


CREATE DATABASE   seo


3

테이블 생성

생성 후 왼쪽에 table  만들어짐



CREATE EXTERNAL TABLE IF NOT EXISTS  seo  log1  (

xxxxxxxxxx

xxxxxxxxx



4

왼편 데이터 베이스를  seo로 변경


5

: 에서  pre view table   선택


결과 보기


6

다시 조회

SELECT



실행시간 저장

13초?


Time in queue:

0.141 sec

Run time:

13.152 sec

Data scanned:

90.72 GB



<3> 압축된 데이터 쿼리 가능


1

생성


2

조회

SELECT



3

시간

16초


Time in queue:

0.104 sec

Run time:

16.618 sec

Data scanned:

13.08 GB



<4> 분할된 데이터 쿼리


1

생성


2

스캔

MSCK REPAIR TABLE  log1_partitioned;


3

14초


Time in queue:

0.241 sec

Run time:

14.99 sec

Data scanned:

432.47 MB



<5> 열 기반 데이터 쿼리


1

parquet    데이터 파일에서 외부 테이블 생성



2

재 스캔


3

SELECT



4

1초?


Time in queue:

0.153 sec

Run time:

1.633 sec

Data scanned:

1.97 MB



결과 

아테나는  스캔된 바이트 수를 기초로 한다.

생성, 드롭 되는 데이터 , 실패는 비용 발생하지 않는다.




<6> 삭제


모든 테이블 삭제

DROP DATABASE   seo xxxxxxxxx




<10> 같이 보면 좋은 자료 


https://brunch.co.kr/@topasvga/1766


감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari