Gestructureerde en semi-gestructureerde data laden

Snowflake-architectuur

Emily Melhuish

Technical Curriculum Developer, Snowflake

De laadworkflow

Laadworkflow met bestanden naar stage en daarna in Snowflake geladen

  • Bestanden komen in de stage; voer COPY INTO uit om te laden
Snowflake-architectuur

Wat is een stage?

Stage = tijdelijke opslaglocatie

Wat is een Stage-diagram van Snowflake

Interne stage maken

CREATE STAGE snowy_peak_stage;

Externe stage maken

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

Data laden in Snowflake

COPY INTO

  • Bulkloaden vanaf een stage
  • Gestructureerde en semi-gestructureerde data
  • Schaalbaar

INSERT

  • Geschikt voor weinig rijen zonder staging
  • Losse toevoegingen of kleine wijzigingen

Snowsight-UI

  • Niet-technische gebruikers en snelle eenmalige workloads
Snowflake-architectuur

Een stage inspecteren met LIST

snowflake_list_stage.png

Snowflake-architectuur

Gestructureerde data laden met COPY INTO

Query

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

Semi-gestructureerde data laden en queryen

Laden

JSON wordt geladen in het speciale Snowflake-kolomtype VARIANT.

CREATE TABLE events (raw_event VARIANT);

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

Queryen

Gebruik dubbelepuntnotatie om door de JSON-structuur te navigeren.

SELECT 
raw_event:user_id::STRING AS user_id,
raw_event:event_type::STRING 
AS event_type
FROM events;
Snowflake-architectuur

Laden met de UI

Screenshot van Snowflake-UI

Snowflake-architectuur

Laten we oefenen!

Snowflake-architectuur

Preparing Video For Download...