320x100
AWS Athena는 S3에 저장된 데이터를 SQL로 바로 조회할 수 있는 서버리스 쿼리 서비스입니다. 인프라를 직접 구성할 필요 없이 빠르게 분석 작업을 시작할 수 있어, 로그 분석, BI 대시보드, 임시 쿼리에 자주 활용됩니다.
Athena는 어떤 서비스인가요?
- 서버리스: EC2나 RDS처럼 인스턴스를 띄우지 않아도 됩니다. 쿼리한 만큼만 비용을 지불합니다.
- SQL 인터페이스: 표준 SQL을 사용하므로 진입 장벽이 낮습니다.
- S3 기반: S3에 저장된 다양한 포맷(CSV, JSON, Parquet 등)의 데이터를 바로 조회할 수 있습니다.
Athena 기본 아키텍처
- S3: 분석 대상 데이터가 저장된 장소
- Glue Data Catalog: 테이블 스키마를 저장하는 메타데이터 저장소 (Athena가 참조)
- Athena: SQL을 실행하는 콘솔 또는 API 인터페이스
- 결과 저장 버킷: 쿼리 결과가 저장되는 지정된 S3 경로
사용 방법 요약
1. S3에 데이터 업로드
- 예: s3://my-bucket/logs/2024-01-01.csv
2. Glue에서 테이블 생성 (또는 Athena에서 직접)
CREATE EXTERNAL TABLE IF NOT EXISTS logs (
ip string,
url string,
status int,
timestamp string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
'serialization.format' = ','
)
LOCATION 's3://my-bucket/logs/';
3. Athena에서 SQL 쿼리 실행
SELECT url, COUNT(*) as cnt
FROM logs
WHERE status = 200
GROUP BY url
ORDER BY cnt DESC
LIMIT 10;
Athena 요금 구조
- 스캔한 데이터 기준 요금 부과 (기본: $5/TB)
- 따라서 데이터 포맷(Parquet 추천), 파티셔닝, 압축이 매우 중요합니다.
사용 팁
- Parquet, ORC 형식으로 변환하여 저장하면 최대 30~90% 비용 절감
- Glue 크롤러를 주기적으로 실행해 테이블 최신화 가능
- 쿼리 결과가 저장되는 S3 버킷을 주기적으로 정리하거나 수명 주기(Lifecycle) 설정 권장
결국
Athena는 복잡한 인프라 없이도 빠르고 쉽게 데이터를 분석할 수 있는 도구입니다. S3 + Glue + Athena의 조합만 잘 이해하면 로그 분석부터 BI, 머신러닝 전처리까지 다양하게 확장할 수 있어요. 다음 글에서는 Athena 성능 최적화에 대해 소개하겠습니다!
2편: https://carpe08.tistory.com/452
320x100
320x100
'빅데이터 관련 자료' 카테고리의 다른 글
Athena 2편: 성능 최적화 가이드, 비용도 줄이고 속도도 높이자! (0) | 2025.04.13 |
---|---|
AI 프롬프트의 언어 일관성: 왜 중요할까? (0) | 2025.04.12 |
빅데이터 × YOLO: 실시간 비전 AI를 위한 궁극의 조합 (0) | 2025.04.11 |
통계, 표준편차, 데이터란? 초보자도 이해하는 완벽 정리 (4) | 2025.04.11 |
AWS 인스턴스 종류 완벽 정리 – EC2 인스턴스 선택 가이드 (0) | 2025.04.11 |