본문 바로가기
컴퓨터

👨‍💻 [AWS] AWS 에서 S3 Select에 의해 반환된 데이터 란 무엇인가요?

by 밝음의기둥 2025. 4. 2.
반응형

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


👨‍💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.

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


반응형