Automatisering van datapijplijnen in Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake



Over Harbr

Stage = tijdelijke opslaglocatie

Interne stages
Externe stage
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' ])
...
Semi-gestructureerd: JSON, Parquet, Avro, ORC en XML.
VARIANT-kolomWerk het formaatobject één keer bij
SQL
CREATE FILE FORMAT harbr_csv_format
TYPE = 'CSV'
FIELD_DELIMITER = ','
SKIP_HEADER = 1;
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')
| 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 |
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