본문 바로가기
AWS

[AWS] Athena 사용 및 쿼리 실행 (S3)

by z00h 2025. 4. 9.

 

✅ AWS Athena란?

Amazon Athena는 AWS에서 제공하는 서버리스(Serverless) SQL 쿼리 서비스이다.
즉, 서버를 직접 구축하거나 관리하지 않아도, S3에 저장된 데이터에 SQL로 직접 접근하여 분석할 수 있는 서비스이다.

 

Athena는 필요시에만 SQL 쿼리를 날려 데이터를 분석하는 서비스로, 분석 환경을 빠르게 구성하고 비용을 절감할 수 있는 장점이 있다.

 

 

1. S3 버킷에 CSV 데이터 저장 (이전 포스팅 참고) https://z00h.tistory.com/136
       ↓
2. Athena에서 데이터베이스 및 테이블 생성
       ↓
3. SQL 쿼리를 작성하여 데이터 조회 및 분석
       ↓
4. 결과 확인 및 저장 (CSV 다운로드 등)

 

 

 

Athena를 왜 써야 하는가?


로그 분석 EC2 인스턴스 없이도 S3 로그파일(SQL 분석 가능)
빅데이터 처리 대용량 데이터도 빠르게 분석 가능 (병렬 처리)
비용 절감 분석에 필요한 시간만큼만 과금됨
실습/학습 SQL만 알면 누구나 사용 가능, 프리티어 실습도 가능
BI 연계 QuickSight 등 시각화 도구와 연동 가능

 

 

 

이전 포스팅에서 S3에 CSV 파일을 업로드까지 완료한 상황에서 해당 실습을 진행한다.

 

 

Athena 설정

✅ 쿼리 결과 저장 위치 지정

  1. Athena 콘솔 접속: https://console.aws.amazon.com/athena
  2. 쿼리편집기 상단 탭에서 '설정'탭 클릭 → 첫 사용 시 쿼리 결과 저장 위치를 설정해야 함

 

 

 

  Browse S3 클릭

 

 

생성한 S3 저장소 경로 설정

 

 

 

 

결과 위치 → S3 경로 지정

 

 

 

 테이블 생성

CSV 기준 테이블 생성 쿼리를 작성하여 '실행' 버튼을 누르면 좌측에 'member' 테이블이 생성된 것을 확인 할 수 있다.

 

 

 

 

✅ 테이블 생성 후 확인

 

area 필드 값이 Seoul인 데이터를 SELECT문으로 조회해보았다.

 
SELECT * FROM member where area = 'Seoul';

 

 

 

 

 

 

정상적으로 CSV 파일 내 데이터가 잘 조회된 것을 확인 할 수 있다!

 

 

 

💥 [참고]AWS Athena에서 SELECT가 안 될 때,

        _로 시작하는 파일명 문제

 

처음 쿼리를 날렸을때 아무런 데이터가 조회 되지 않았는데 DBeaver에서 생성한 CSV 파일명이 '_'로 시작하는 파일명으로 등록되어있어 아무린 결과가 나오지 않았다. 

 

기존 파일명은 '_member__202504081609.csv' 이였는데 파일명을 'member.csv'로 수정해주니 정상적으로 CSV 파일을 읽어와 쿼리가 잘 실행 되었다.

 

Athena에서 _나 .으로 시작하는 파일을 시스템 파일 또는 숨김 파일로 간주하여 쿼리 대상에서 제외하였기 때문에 인식을 하지 못한 듯 하다. CSV 파일이 조회되지 않는다면 참고하길 바란다.