AWS Athena 활용하기

code_able·2023년 10월 21일
0

AWS Athena란

S3에 적재된 csv, json, parquet 파일의 데이터를 스캔하여
External table을 생성, ANSI Query를 사용하여
데이터를 조회 할 수 있도록 해주는 서비스다.
엔진은 prestoDB를 사용한다.

장점

  • s3를 활용한 Data lake에서 필요한 데이터만 가져와 조회 할 수 있다.
  • 서버리스 서비스로 인프라를 관리할필요가 없다.
  • 실행된 쿼리만 비용을 지불한다.

데이터 파이셔닝

필요한 데이터만 스캔 할 수 있도록 파티셔닝을 한다.

  • s3의 구조가 파티셔닝을 위한 자동 매핑 구조일 경우
S3://data/year=2023/month=10/day=10/
or
S3://data/dt=20231010/

ddl

CREATE EXTERNAL TABLE my_data(
)
PARTITIONED BY (year int, month int, day int)

테이블 새성 후 자동으로 파티션을 지정할 수 있도록 하는 명령어

MSCK REPAIR TABLE my_data
  • s3의 구조가 파티셔닝을 위한 자동 매핑 구조가 아닐 경우
S3://data/20231010/

ALTER로 수동으로 작업을 해야 한다.

ALTER TABLE my_data PARTITION (dt='20231010') location 'S3://data/20231010/'

데이터 압축

아테나 사용시 데이터 압축을 권장한다.
용량이 적어야 자원 사용이 적고 쿼리 성능이 빨라 질 수 있다.

  • snappy : Parquet 데이터 스토리지 형식의 파일에 대한 기본 압축
  • zlip : ORC 데이터스토리지 형식의 파일에 대한 기본 압축 형식
  • gzip : 데이터 파일에 gz 확장프로그램 사용 default 값
profile
할수 있다! code able

0개의 댓글