[26WKRD2] Amazon Athena로 CSV, JSON 파일 분석하기
개요
Amazon Athena는 별도의 서버를 구축하거나 관리하지 않아도 Amazon S3에 저장된 CSV, JSON 파일을 SQL로 바로 분석할 수 있는 대표적인 서버리스 쿼리 서비스입니다. 데이터베이스 인프라를 미리 복잡하게 구성하지 않아도 필요한 시점에 테이블을 정의하고 즉시 조회할 수 있어, 로그 분석이나 운영 데이터 확인, 간단한 통계 집계에 효율적으로 활용할 수 있습니다.
이 글에서는 Amazon Athena를 활용하여 CSV와 JSON 파일을 분석하는 기본 방법을 간단히 소개할 예정입니다. S3에 파일을 저장한 뒤 테이블을 생성하고 SQL로 데이터를 조회하는 흐름을 중심으로, 파일 형식에 따라 어떤 방식으로 분석을 진행할 수 있는지 알아보겠습니다.
이번 블로그에서 진행할 실습 자료는 모두 <이 레포>에 있으니 클론 후 실습 부탁드립니다!
1. S3 Setup
먼저, 실습용으로 데이터가 담길 S3 버킷을 생성해보겠습니다.
필자의 경우, 아래와 같이 athena-basic-cloudismylife라는 이름의 버킷을 생성했습니다.

이후, 해당 버킷에 분석할 파일을 업로드합니다. 필자의 경우 구매 기록을 csv, json으로 만들었습니다.
해당 파일에 있는 모든 정보는 학습 및 정보 공유를 목적으로 Claude가 생성하였고, 실제 개인 정보를 이용한게 아님을 밝힙니다.

위와 같이 디렉토리를 나누어 각각 order.csv, order.json을 저장하였습니다.
이후, Athena의 분석 결과가 담길 버킷을 생성합니다.

최종 버킷 구조입니다.
2. Athena
Athena에서 쿼리하기 전, 쿼리 설정 탭으로 이동하여 쿼리 결과가 저장될 버킷을 아래와 같이 설정합니다.
암호화 등의 여부는 여러분들의 입맛에 맞게 적절히 설정합니다.

쿼리 결과가 지정될 버킷도 지정했으니, 이제 데이터베이스를 생성해봅시다.
0번 쿼리를 실행하여 Database를 생성해보겠습니다.
아래와 같이 실행하게 되면,

실행하게 되면, 좌측 데이터 패널에 우리가 방금 생성한 DB가 뜨게 됩니다. 이 DB로 변경해주겠습니다.
또한, 좌측 점 3개 버튼을 눌러 Save as -> 저장해줍니다. 앞으로 실행하는 모든 쿼리는 query_0과 같이 저장해주겠습니다.

이후, 테이블을 생성해봅시다.
Amazon Athena는 쿼리 실행 시 해당 디렉토리에 있는 모든 파일을 대상으로 함에 유의합니다.

아래와 같이 테이블이 잘 생성된 것을 볼 수 있습니다.

만약, JSON 파일을 대상으로 테이블을 생성하기 위해서는 쿼리를 아래와 같이 작성합니다.

이제, 데이터를 조회해보겠습니다.

결과가 잘 조회되었습니다.

이제, 조금 세부적인 쿼리를 해보겠습니다.
지역별 매출 순위를 내보겠습니다. 현재 배송 전, 배송 중인 제품은 제외하고, 배송이 완료된 상품만 매출로 집계합니다.

잘 뜨네요 Yarr~

마지막으로, 주문 금액 구간별로 분류하는 쿼리를 실행해보겠습니다.

이렇게 주문 기록이 구간 별로 잘 뜨는 모습을 확인할 수 있습니다.

마치며
이번 글에서는 Amazon Athena를 이용해 Amazon S3에 저장된 CSV, JSON 파일을 손쉽게 분석하는 기본 흐름을 살펴보았습니다.
별도의 서버를 구성하거나 데이터베이스를 직접 운영하지 않아도, S3에 파일을 저장하고 테이블을 생성한 뒤 SQL만으로 바로 데이터를 조회할 수 있다는 점이 Athena의 큰 장점입니다.
특히 운영 로그 확인, 간단한 통계 집계, 파일 기반 데이터 탐색처럼 빠르게 결과를 확인해야 하는 상황에서 Athena는 매우 유용하게 활용할 수 있습니다.
CSV처럼 정형화된 데이터는 물론, JSON과 같은 반정형 데이터도 적절한 테이블 정의를 통해 충분히 분석할 수 있다는 점도 함께 확인해보았습니다.
이번 실습에서는 가장 기본적인 조회와 집계 위주로 진행했지만, 이후에는 파티셔닝, 압축 포맷, Glue Data Catalog 연동, 그리고 시각화 도구와의 연계까지 확장하면 훨씬 효율적인 데이터 분석 환경을 구성할 수 있습니다.
Athena를 처음 접하시는 분들이라면, 이번 예제를 직접 따라 해보면서 “파일을 올리고 바로 SQL로 분석한다”는 흐름에 익숙해지는 것만으로도 큰 도움이 될 것입니다.
이 글이 S3 기반 데이터 분석을 시작해보려는 분들께 좋은 출발점이 되었길 바랍니다.
참고 문서