S3 Parquet 가져오기

S3 Parquet 가져오기 (S3 Parquet Import)

S3에 있는 Parquet 파일을 DuckDB에서 바로 읽고 싶다면, httpfs 확장만 준비하면 돼요. 확장 설치·설정·쿼리 순서로 차근차근 살펴볼게요.

출처: 공식문서

사전 준비 (Prerequisites)

S3에서 Parquet 파일을 로드하려면 httpfs 확장이 필요해요. INSTALL SQL 명령으로 설치하며, 이건 최초 한 번만 실행하면 돼요.

INSTALL httpfs;

설치한 httpfs 확장을 사용하려면 LOAD SQL 명령으로 불러와요.

LOAD httpfs;

자격 증명과 설정 (Credentials and Configuration)

httpfs 확장을 불러온 뒤에는 데이터를 읽을 수 있게 자격 증명(credential)과 S3 리전을 설정해요.

CREATE SECRET (
    TYPE s3,
    KEY_ID '⟨AKIAIO...MPLE⟩',
    SECRET '⟨wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY⟩',
    REGION '⟨us-east-1⟩'
);

Tip: Connection error for HTTP HEAD 같은 IO 오류가 나면, ENDPOINT 's3.⟨your-region⟩.amazonaws.com'로 엔드포인트를 명시적으로 설정해 주세요.

자격 증명을 자동으로 가져오고 싶거나, 이름 있는 프로파일(named profile)·SSO·가정된 역할(assumed role)을 쓰고 싶다면 aws 확장의 credential_chain 프로바이더를 사용할 수 있어요. 기본 형태는 다음과 같아요.

CREATE SECRET (
    TYPE s3,
    PROVIDER credential_chain
);

쿼리하기 (Querying)

httpfs 확장 설정과 S3 구성을 마쳤다면, S3의 Parquet 파일을 다음 명령으로 읽을 수 있어요.

SELECT * FROM read_parquet('s3://⟨bucket⟩/⟨file⟩');

Google Cloud Storage (GCS)와 Cloudflare R2

DuckDB는 S3 API를 통해 Google Cloud Storage(GCS)Cloudflare R2도 처리할 수 있어요. 자세한 내용은 각각의 가이드를 참고하세요.

더 알아보기 (Learn more)