Laden strukturierter und semi-strukturierter Daten

Snowflake-Architektur

Emily Melhuish

Technical Curriculum Developer, Snowflake

Der Lade-Workflow

Lade-Workflow mit Dateien, die in die Stage gehen und dann in Snowflake geladen werden

  • Dateien landen in der Stage, führe COPY INTO zum Laden aus
Snowflake-Architektur

Was ist eine Stage?

Stage = temporärer Speicherort

Was ist eine Stage – Diagramm von Snowflake

Interne Stage erstellen

CREATE STAGE snowy_peak_stage;

Externe Stage erstellen

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

Daten in Snowflake laden

COPY INTO

  • Massenladen aus der Stage
  • Strukturierte und semi-strukturierte Daten
  • Skalierbar

INSERT

  • Gut für wenige Zeilen ohne Stage
  • Einmalige Ergänzungen oder kleine Änderungen

Snowsight-UI

  • Für Nicht-Techniker und schnelle Einmal-Aufgaben
Snowflake-Architektur

Eine Stage mit LIST prüfen

snowflake_list_stage.png

Snowflake-Architektur

Strukturierte Daten mit COPY INTO laden

Abfrage

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

Semi-strukturierte Daten laden und abfragen

Laden

JSON wird in einen speziellen Snowflake-Spaltentyp namens VARIANT geladen.

CREATE TABLE events (raw_event VARIANT);

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

Abfragen

Verwende die Doppelpunkt-Notation, um die JSON-Struktur zu navigieren.

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

Laden mit der UI

Screenshot der Snowflake-UI

Snowflake-Architektur

Lass uns üben!

Snowflake-Architektur

Preparing Video For Download...