Stages, Dateiformate und COPY INTO

Automatisierung von Datenpipelines in Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowflake treibt viele Workloads an

Screenshot 2026-05-11 at 11.52.34 am.png

1 * Snowflake Lernmaterial
Automatisierung von Datenpipelines in Snowflake

Beispiel-Pipeline

 

 

Screenshot 2026-05-11 at 10.48.51 am.png

1 * Snowflake Lernmaterial
Automatisierung von Datenpipelines in Snowflake

Lerne Harbr kennen

Fake-Logo für Harbr

Über Harbr

  • Globale Logistik- und Supply-Chain-Plattform
  • Nutzt Snowflake, um Sendungen, Lagerbestände und Lieferperformance zu tracken
  • Integriert Daten aus Lieferantensystemen in mehreren Regionen
Automatisierung von Datenpipelines in Snowflake

Das Datenladeproblem

Datenlade-Diagramm

Stage = temporärer Speicherort

Automatisierung von Datenpipelines in Snowflake

Stage-Typen

Zwei Stagetypen

Interne Stages

  • Benutzer
    • Persönlicher Staging-Bereich für eine einzelne Person
  • Tabelle
    • An eine bestimmte Tabelle gebunden
  • Benannt
    • Datenbankobjekt, das im Schema erstellt wird

Externe Stage

  • Benannt
    • Verweist auf Cloud-Anbieter
Automatisierung von Datenpipelines in Snowflake

Stage-Parameter

Directory Table

CREATE STAGE harbr_stage
  DIRECTORY = (ENABLE = TRUE)

Verschlüsselung für interne Stages

ENCRYPTION = (TYPE = SNOWFLAKE_FULL)
ENCRYPTION = (TYPE = SNOWFLAKE_SSE)

Verschlüsselung für externe Stages

ENCRYPTION = 
([ TYPE = 'AWS_CSE' ] MASTER_KEY = '') 

ENCRYPTION = 
([ TYPE = 'AWS_SSE_S3' ]) 

...
Automatisierung von Datenpipelines in Snowflake

Dateiformate

  • Strukturierte Formate: CSV mit bestimmten Trennzeichen, Kopfzeilen, Anführungsregeln
  • Semistrukturierte Formate: JSON, Parquet, Avro, ORC und XML

    • Direkt in eine VARIANT-Spalte laden
    • Parsing-Regeln einmal definieren, bei allen Ladevorgängen wiederverwenden
  • Formatobjekt einmal aktualisieren

SQL

CREATE FILE FORMAT harbr_csv_format
  TYPE = 'CSV'
  FIELD_DELIMITER = ','
  SKIP_HEADER = 1;
Automatisierung von Datenpipelines in Snowflake

COPY INTO

Aus einer benannten Stage mit benanntem Dateiformat laden

COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
Automatisierung von Datenpipelines in Snowflake

Fehlerbehandlung

ON_ERROR-Optionen Verhalten
ABORT_STATEMENT Gesamten Ladevorgang beim ersten Fehler abbrechen (Standard)
CONTINUE Fehlerhafte Zeilen überspringen, Rest laden
SKIP_FILE Ganze Datei überspringen, wenn sie Fehler enthält
SKIP_FILE_<num> Datei nur überspringen, wenn Fehler eine Anzahl überschreiten
SKIP_FILE_<num>% Datei nur überspringen, wenn Fehler einen %-Schwellenwert überschreiten
Automatisierung von Datenpipelines in Snowflake

VALIDATION_MODE und COPY_HISTORY

Validieren ohne zu laden = Dry Run

COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
VALIDATION_MODE = RETURN_ERRORS;

Ladehistorie prüfen

SELECT * FROM TABLE(INFORMATION_SCHEMA.COPY_HISTORY(
  TABLE_NAME => 'shipments',
  START_TIME => DATEADD('hour', -24,
    CURRENT_TIMESTAMP())));
Automatisierung von Datenpipelines in Snowflake

Lass uns üben!

Automatisierung von Datenpipelines in Snowflake

Preparing Video For Download...