Stages, bestandsindelingen en COPY INTO

Automatisering van datapijplijnen in Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowflake ondersteunt veel workloads

Screenshot 2026-05-11 at 11.52.34 am.png

1 * Snowflake Learning Material
Automatisering van datapijplijnen in Snowflake

Voorbeeldpipeline

 

 

Screenshot 2026-05-11 at 10.48.51 am.png

1 * Snowflake Learning Material
Automatisering van datapijplijnen in Snowflake

Maak kennis met Harbr

Nep-logo voor Harbr

Over Harbr

  • Wereldwijd platform voor logistiek en supply chain
  • Gebruikt Snowflake om zendingen, magazijnvoorraad en leveringsprestatie te volgen
  • Neemt data op uit leverancierssystemen in meerdere regio’s
Automatisering van datapijplijnen in Snowflake

Het datalaadprobleem

Diagram voor laden van data

Stage = tijdelijke opslaglocatie

Automatisering van datapijplijnen in Snowflake

Stagetypen

Twee stagetypen

Interne stages

  • Gebruiker
    • Persoonlijke stagingruimte voor één gebruiker
  • Tabel
    • Gekoppeld aan een specifieke tabel
  • Benoemd
    • Databaseobject dat in het schema wordt gemaakt

Externe stage

  • Benoemd
    • Verwijst naar cloudprovider
Automatisering van datapijplijnen in Snowflake

Stageparameters

Directory table

CREATE STAGE harbr_stage
  DIRECTORY = (ENABLE = TRUE)

Encryptie interne stage

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

Encryptie externe stage

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

ENCRYPTION = 
([ TYPE = 'AWS_SSE_S3' ]) 

...
Automatisering van datapijplijnen in Snowflake

Bestandsindelingen

  • Gestructureerd: CSV met delimiters, koprijen, aanhalingstekens
  • Semi-gestructureerd: JSON, Parquet, Avro, ORC en XML.

    • Laad direct in een VARIANT-kolom
    • Definieer parse-regels één keer, hergebruik bij alle laadacties
  • Werk het formaatobject één keer bij

SQL

CREATE FILE FORMAT harbr_csv_format
  TYPE = 'CSV'
  FIELD_DELIMITER = ','
  SKIP_HEADER = 1;
Automatisering van datapijplijnen in Snowflake

COPY INTO

Laden vanaf een benoemde stage met een benoemd bestandsformaat

COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
Automatisering van datapijplijnen in Snowflake

Fouthandling

ON_ERROR-optie Gedrag
ABORT_STATEMENT Stop hele laadactie bij de eerste fout (standaard)
CONTINUE Sla foute rijen over, laad de rest
SKIP_FILE Sla volledig bestand over bij een fout
SKIP_FILE_<num> Sla bestand over als fouten een opgegeven aantal overschrijden
SKIP_FILE_<num>% Sla bestand over als fouten een opgegeven drempel (%) overschrijden
Automatisering van datapijplijnen in Snowflake

VALIDATION_MODE en COPY_HISTORY

Valideren zonder te laden = dry run

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

Laadhistorie bekijken

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

Laten we oefenen!

Automatisering van datapijplijnen in Snowflake

Preparing Video For Download...