brunch

597. Amazon Athena 사용법

이론, 개념잡기

by Master Seo

<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


감사합니다.

keyword
매거진의 이전글596.Kinesis Data Analytics 사용법