1️⃣ AWS S3 bucket 생성
AWS console의 S3에 접속
bucket 생성
bucket 이름과 지역 설정 후 하단의 create bucket
2️⃣ IAM 계정 만들기
현재 Root계정이라면 IAM계정을 먼저 만들자
Root 사용자는 AWS 계정 전체를 컨트롤할 수 있는 최고 권한 계정이기 때문에
혹시라도 accesskey등이 유출되면 문제가 있을 수 있기 때문이다
Create User
user 이름 설정
일단 개인 공부할 것이면 Attach polices directly 선택 후
AmazonS3FullAccess, AmazonAthenaFullAccess, AmazonS3ReadOnlyAccess 를 검색하여 선택한다
선택해야하는 권한들
마지막 단계. 정보들을 확인하고 하단의 Create user버튼을 누른다
이제 IAM user가 만들어졌다!
3️⃣ Access key 생성
원하는 IAM user 선택 후
아래의 tab들 중에서 Security credentials 탭 - Create access key를 누른다
원하는 것 선택. 나의 경우 CLI선택 후 아래쪽의 next를 누른다
access 키가 여러개일 경우 tag설정하는 것이 좋지만 나는 하나라 설정하지 않음
이제 access key 생성 완료!
모두 확인해주고 csv파일도 다운받아놓자
4️⃣ AWS CLI 설치
https://docs.aws.amazon.com/cli/v1/userguide/install-windows.html#msi-on-windows
Installing, Updating, and Uninstalling the AWS CLI version 1 on Windows - AWS Command Line Interface
These configuration and credentials settings are shared across all AWS SDKs and the AWS CLI. If you remove this folder, they cannot be accessed by any AWS SDKs that are still on your system.
docs.aws.amazon.com
사이트의 아래쪽에
msi파일 다운받고 설치
cmd, powershell 등 terminal에서
aws --version 입력시 아래와 같이 나오면 정상 설치된 것
aws-cli/1.38.17 Python/3.12.6 Windows/11 botocore/1.37.17
aws configure후에 자신의 정보 입력을 완료한 뒤
aws s3 ls 했을 때 자신의 bucket이름이 정상적으로 뜨면 성공
5️⃣ parquet 파일 S3에 업로드하기
이제 uploadS3.py를 실행시키자 python uploadS3.py
혹은 S3에 해당 경로에 들어가서 직접 parquet파일을 넣어도 된다.
uploadS3.py
import boto3
# S3 설정
bucket_name = "본인버킷이름"
s3_key = "goodgood/파일이름.parquet" #S3에 저장할 경로 예시
# 업로드
s3 = boto3.client('s3')
s3.upload_file("파일이름.parquet", bucket_name, s3_key)
print(f"S3 업로드 완료~~ : s3://{bucket_name}/{s3_key}")
6️⃣ Athena에서 SQL로 S3에 업로드한 Parquet 데이터 조회
Athena > Query editor로 이동
database 없거나 만들고 싶을 경우 생성
create database 데이터베이스명;
원하는 database선택 후 parquet데이터와 상응하는 테이블 만들기
테이블 생성 쿼리 예시
CREATE EXTERNAL TABLE IF NOT EXISTS 데이터베이스명.테이블명 (
seq INT,
Column1 STRING,
Column2 INT,
Column3 INT,
Column4 STRING,
Column5 STRING
)
STORED AS PARQUET
LOCATION 's3://s3버켓이름/parquet파일위치/';
이제 확인해보면 잘 뜨는걸 볼 수 있다
select * from 데이터베이스명.테이블명;
조회 결과
이제 이 데이터를 C#에서 조회해 보고 싶다면 참고하시라~
https://yun000.tistory.com/296
AWS Athena를 통해 S3 parquet 데이터 조회 (C#)
목적대용량 데이터를 S3에 parquet 파일로 저장 후Athena를 활용하여 C#프로그램에서 데이터를 조회해 보자 선행 과정S3에 parquet 파일 저장후 Athena로 데이터 조회 해보기https://yun000.tistory.com/295 S3에
yun000.tistory.com
'개발' 카테고리의 다른 글
FastAPI (0) | 2025.03.21 |
---|---|
AWS Athena를 통해 S3 parquet 데이터 조회 (C#) (0) | 2025.03.21 |
[Node.js] package.json, package-lock.json (0) | 2025.03.12 |
[Node.js] Node.js 기초 (0) | 2025.03.07 |
[Vue] 전역 component (0) | 2025.03.07 |