"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
👨💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.
AWS 에서 S3 Select에 의해 반환된 데이터 란 무엇인지 간략히 알아보았습니다.
질문 >
AWS 에서 S3 Select에 의해 반환된 데이터 란 무엇인가요?
답변 >
AWS S3 Select에 의해 반환된 데이터란?
AWS S3 Select는 S3 버킷에 저장된 객체(파일)에서 전체 파일을 다운로드하지 않고도, 필요한 데이터만 추출하는 기능입니다.
즉, S3에서 직접 SQL을 실행하여 원하는 데이터만 가져올 수 있음 🚀
🔹 S3 Select의 개념
보통 S3에서 데이터를 조회하려면 파일 전체를 다운로드 후 처리해야 합니다.
하지만 S3 Select를 사용하면 S3 내부에서 직접 필터링하여 필요한 데이터만 반환합니다.
💡 예제: CSV 파일에서 특정 조건을 만족하는 데이터만 조회
- 전체 1GB의 CSV 파일에서 특정 ID 값을 가진 데이터만 검색
- JSON, Parquet 형식에서도 특정 필드만 선택 가능
✅ S3 Select을 사용할 수 있는 파일 형식
- CSV (Comma-Separated Values)
- JSON
- Apache Parquet (컬럼 저장 형식, 빅데이터 분석에 유용)
🔹 S3 Select에 의해 반환된 데이터
S3 Select가 SQL 쿼리를 실행하면 필터링된 데이터만 반환됩니다.
즉, 전체 객체를 다운로드하는 것이 아니라, 쿼리 결과만 가져올 수 있습니다.
💡 예제 1: CSV 파일에서 특정 ID만 조회 📂 CSV 데이터 (data.csv)
ID,Name,Age,Country
1,John,30,USA
2,Alice,25,UK
3,Bob,35,Canada
4,Emma,28,Australia
✅ S3 Select SQL 실행
SELECT * FROM S3Object s WHERE s.ID = '2'
📌 반환된 데이터
2,Alice,25,UK
➡️ 파일 전체를 다운로드하지 않고 원하는 데이터만 가져옴! ✅
🔹 S3 Select 사용 방법
1️⃣ AWS CLI로 실행
aws s3api select-object-content \\
--bucket my-bucket \\
--key data.csv \\
--expression "SELECT * FROM S3Object s WHERE s.ID = '2'" \\
--expression-type SQL \\
--input-serialization '{"CSV": {"FileHeaderInfo": "USE"}}' \\
--output-serialization '{"CSV": {}}'
2️⃣ Python (Boto3)으로 실행
import boto3
s3_client = boto3.client('s3')
response = s3_client.select_object_content(
Bucket="my-bucket",
Key="data.csv",
Expression="SELECT * FROM S3Object s WHERE s.ID = '2'",
ExpressionType="SQL",
InputSerialization={"CSV": {"FileHeaderInfo": "USE"}},
OutputSerialization={"CSV": {}}
)
for event in response["Payload"]:
if "Records" in event:
print(event["Records"]["Payload"].decode("utf-8"))
📌 출력 결과
2,Alice,25,UK
🔹 S3 Select의 장점
✅ 파일 전체 다운로드 불필요 → 네트워크 비용 절감
✅ 쿼리로 필요한 데이터만 가져와 성능 향상
✅ CSV, JSON, Parquet 등 다양한 포맷 지원
✅ Athena, Redshift와 통합하여 빅데이터 분석 가능
📌 결론
- S3 Select는 S3에서 SQL을 실행하여 필요한 데이터만 반환하는 기능
- 파일 전체 다운로드 없이 직접 필터링 가능 → 성능 향상 및 비용 절감
- CSV, JSON, Parquet 등의 데이터에 대해 활용 가능
🎬 유튜브 채널 🎬
위로그@WiLog
📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리(Willee) 입니다. 📢 위로그@WiLog 는 자기계발을 목적으로 하는 채널 입니다. 📢 오늘도 즐겁게~ 자신을 위한 계발을 함께 해보아요~ d^_^b 📌
www.youtube.com
🎬 치지직 채널 🎬
위로그 채널 - CHZZK
지금, 스트리밍이 시작됩니다. 치지직-
chzzk.naver.com
'컴퓨터' 카테고리의 다른 글
👨💻 [AWS] AWS 에서 S3 Select에 의해 스캔된 데이터 란 무엇인가요? (2) | 2025.04.02 |
---|---|
👨💻 [AWS] AWS 에서 Route 53 서비스의 호스팅 영역과 레코드 란 무엇인가요? (0) | 2025.04.02 |
👨💻 [AWS] AWS 에서 Route 53 서비스의 트래픽 흐름 이란 무엇인가요? (0) | 2025.04.02 |
👨💻 [AWS] AWS 의 S3 서비스에 업로드되어 있는 파일을 대상으로 각 파일 별로 Pre Signed URL을 동시에 몇개까지 생성 가능한가요? (0) | 2025.04.01 |
👨💻 [AWS] AWS 의 S3에 파일을 업로드 및 다운로드 하도록 클라이언트를 구현하는데, 개인 도메인을 S3 저장소와 연결해서 사용할 수 있을까요? (0) | 2025.04.01 |