載入結構化與半結構化資料

Snowflake 架構

Emily Melhuish

Technical Curriculum Developer, Snowflake

載入工作流程

載入流程,檔案先進入 stage,然後載入至 Snowflake

  • 檔案進入 stage,執行 COPY INTO 載入它們
Snowflake 架構

什麼是 Stage?

Stage = 臨時儲存位置

Snowflake 的 Stage 示意圖

建立內部 Stage

CREATE STAGE snowy_peak_stage;

建立外部 Stage

CREATE STAGE my_s3_stage
  STORAGE_INTEGRATION = s3_int
  URL = 's3://snowy-peak-data/raw/';
Snowflake 架構

將資料載入 Snowflake

COPY INTO

  • 從 Stage 批次載入
  • 結構化與半結構化資料
  • 可擴充

INSERT

  • 少量列,無需 staging 時適用
  • 單次新增或小幅更動

Snowsight UI

  • 非技術使用者與快速的一次性作業
Snowflake 架構

用 LIST 檢視 Stage

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 會載入到 Snowflake 的特殊欄位型別 VARIANT。

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...