데이터 로딩/언로딩 DDL
데이터 로딩/언로딩 DDL (Data loading / unloading DDL)
Snowflake에서 스테이지(stage), 파일 포맷(file format), Git 저장소, 파이프(pipe)를 만들고 관리하기 위한 DDL 명령들을 정리한 문서예요. 스테이지와 파일 포맷은 테이블로/테이블에서 데이터를 대량 로딩·언로딩할 때 편의를 제공하는 이름 있는 데이터베이스 객체이고, 파이프는 Snowpipe로 데이터를 마이크로 배치로 로딩하는 COPY 문을 정의해요. 여기서는 각 객체 관리를 위한 DDL 명령 링크를 확인할 수 있어요.
본문
스테이지(stage)와 파일 포맷(file format)은 데이터베이스 테이블로 데이터를 대량 로딩(bulk loading)하고 테이블에서 데이터를 언로딩하는 작업을 단순화하는 이름 있는 데이터베이스 객체예요.
파이프(pipe)는 Snowpipe를 사용해 데이터의 마이크로 배치를 로딩하기 위한 COPY 문을 정의하는 이름 있는 데이터베이스 객체예요.
Stage 관리
Snowflake는 로딩/언로딩에 사용되는 데이터 파일을 저장하기 위한 두 가지 유형의 스테이지를 지원해요.
- 내부 스테이지(Internal stages) 는 파일을 Snowflake 내부에 저장해요.
- 외부 스테이지(External stages) 는 스테이지가 참조하는 외부 위치(예: S3 버킷)에 파일을 저장해요. 외부 스테이지는 필요 시 S3 버킷의 위치와 자격 증명(credential) 정보를 지정해요.
외부 스테이지와 내부 스테이지 모두 파일 포맷과 복사 옵션을 포함할 수 있어요.
File format 관리
파일 포맷(file format)은 대량 로딩/언로딩에 사용되는 데이터 파일의 파일 유형(CSV, JSON 등)과 각 유형에 특정한 포맷팅 옵션 같은 정보를 캡슐화해요.
- CREATE FILE FORMAT
- CREATE FILE FORMAT … CLONE
- ALTER FILE FORMAT
- DROP FILE FORMAT
- DESCRIBE FILE FORMAT
- SHOW FILE FORMATS
Git 저장소 관리 (Git repository management)
Snowflake Git 저장소 스테이지(Git repository stage)는 Snowflake 안의 로컬 Git 저장소를 나타내요.
- CREATE GIT REPOSITORY
- ALTER GIT REPOSITORY
- DROP GIT REPOSITORY
- DESCRIBE GIT REPOSITORY
- SHOW GIT BRANCHES
- SHOW GIT REPOSITORIES
- SHOW GIT TAGS
Pipe 관리
파이프(pipe)는 인제스트 큐(ingestion queue)에서 테이블로 데이터 파일 세트를 로딩하기 위한 단일 COPY 문을 캡슐화해요.