데이터 로딩/언로딩 DDL

데이터 로딩/언로딩 DDL (Data loading / unloading DDL)

Snowflake에서 스테이지(stage), 파일 포맷(file format), Git 저장소, 파이프(pipe)를 만들고 관리하기 위한 DDL 명령들을 정리한 문서예요. 스테이지와 파일 포맷은 테이블로/테이블에서 데이터를 대량 로딩·언로딩할 때 편의를 제공하는 이름 있는 데이터베이스 객체이고, 파이프는 Snowpipe로 데이터를 마이크로 배치로 로딩하는 COPY 문을 정의해요. 여기서는 각 객체 관리를 위한 DDL 명령 링크를 확인할 수 있어요.

출처: Snowflake SQL Reference

본문

스테이지(stage)와 파일 포맷(file format)은 데이터베이스 테이블로 데이터를 대량 로딩(bulk loading)하고 테이블에서 데이터를 언로딩하는 작업을 단순화하는 이름 있는 데이터베이스 객체예요.

파이프(pipe)는 Snowpipe를 사용해 데이터의 마이크로 배치를 로딩하기 위한 COPY 문을 정의하는 이름 있는 데이터베이스 객체예요.

Stage 관리

Snowflake는 로딩/언로딩에 사용되는 데이터 파일을 저장하기 위한 두 가지 유형의 스테이지를 지원해요.

  • 내부 스테이지(Internal stages) 는 파일을 Snowflake 내부에 저장해요.
  • 외부 스테이지(External stages) 는 스테이지가 참조하는 외부 위치(예: S3 버킷)에 파일을 저장해요. 외부 스테이지는 필요 시 S3 버킷의 위치와 자격 증명(credential) 정보를 지정해요.

외부 스테이지와 내부 스테이지 모두 파일 포맷과 복사 옵션을 포함할 수 있어요.

File format 관리

파일 포맷(file format)은 대량 로딩/언로딩에 사용되는 데이터 파일의 파일 유형(CSV, JSON 등)과 각 유형에 특정한 포맷팅 옵션 같은 정보를 캡슐화해요.

Git 저장소 관리 (Git repository management)

Snowflake Git 저장소 스테이지(Git repository stage)는 Snowflake 안의 로컬 Git 저장소를 나타내요.

Pipe 관리

파이프(pipe)는 인제스트 큐(ingestion queue)에서 테이블로 데이터 파일 세트를 로딩하기 위한 단일 COPY 문을 캡슐화해요.

더 알아보기 (Learn more)