정형 및 반정형 데이터 로드

Snowflake 아키텍처

Emily Melhuish

Technical Curriculum Developer, Snowflake

로딩 워크플로

파일이 스테이지로 이동한 후 Snowflake로 로드되는 로딩 워크플로

  • 파일이 스테이지에 도착하면 COPY INTO를 실행하여 로드합니다.
Snowflake 아키텍처

스테이지란?

스테이지 = 임시 저장 위치

Snowflake의 스테이지 개념 다이어그램

내부 스테이지 생성

CREATE STAGE snowy_peak_stage;

외부 스테이지 생성

CREATE STAGE my_s3_stage
  STORAGE_INTEGRATION = s3_int
  URL = 's3://snowy-peak-data/raw/';
Snowflake 아키텍처

Snowflake에 데이터 로드

COPY INTO

  • 스테이지에서 대량 로드
  • 정형 및 반정형 데이터
  • 확장성 우수

INSERT

  • 스테이징 없이 소량 행 추가에 적합
  • 단발성 추가 또는 소규모 변경

Snowsight UI

  • 비기술 사용자 및 단발성 작업에 적합
Snowflake 아키텍처

LIST로 스테이지 조회

snowflake_list_stage.png

Snowflake 아키텍처

COPY INTO로 정형 데이터 로드

쿼리

CREATE OR REPLACE FILE FORMAT csv_format
  TYPE = CSV
  SKIP_HEADER = 1;

COPY INTO orders
FROM @snowy_peak_stage/orders.csv
FILE_FORMAT = (FORMAT_NAME = csv_format);
Snowflake 아키텍처

반정형 데이터 로드 및 쿼리

로드

JSON은 VARIANT라는 특수 Snowflake 열 유형으로 로드됩니다.

CREATE TABLE events (raw_event VARIANT);

COPY INTO events
FROM @snowy_peak_stage/events.json
FILE_FORMAT = (TYPE = JSON);

쿼리

JSON 구조를 탐색하려면 콜론 표기법을 사용하십시오.

SELECT 
raw_event:user_id::STRING AS user_id,
raw_event:event_type::STRING 
AS event_type
FROM events;
Snowflake 아키텍처

UI로 데이터 로드

Snowflake UI 스크린샷

Snowflake 아키텍처

연습해 봅시다!

Snowflake 아키텍처

Preparing Video For Download...