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)
- 네트워크/클라우드 스토리지 전반은 네트워크와 클라우드 스토리지 개요에서 확인하세요.