Automatisering av datapipelines i Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake



Om Harbr

Stage = tillfällig lagringsplats

Interna stages
Extern stage
Katalogstabell
CREATE STAGE harbr_stage
DIRECTORY = (ENABLE = TRUE)
Kryptering för intern stage
ENCRYPTION = (TYPE = SNOWFLAKE_FULL)
ENCRYPTION = (TYPE = SNOWFLAKE_SSE)
Kryptering för extern stage
ENCRYPTION =
([ TYPE = 'AWS_CSE' ] MASTER_KEY = '')
ENCRYPTION =
([ TYPE = 'AWS_SSE_S3' ])
...
Semi-strukturerade format: JSON, Parquet, Avro, ORC och XML.
VARIANT-kolumnUppdatera formatobjektet en gång
SQL
CREATE FILE FORMAT harbr_csv_format
TYPE = 'CSV'
FIELD_DELIMITER = ','
SKIP_HEADER = 1;
Läs in från en namngiven stage med ett namngivet filformat
COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
| ON_ERROR-alternativ | Beteende |
|---|---|
ABORT_STATEMENT |
Avbryt hela inläsningen vid första felet (standard) |
CONTINUE |
Hoppa över felaktiga rader, läs in övriga |
SKIP_FILE |
Hoppa över hela filen om den innehåller fel |
SKIP_FILE_<num> |
Hoppa över filen om antalet fel överskrider angivet värde |
SKIP_FILE_<num>% |
Hoppa över filen om felprocenten överskrider angiven tröskel |
Validera utan att läsa in = testkörning
COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
VALIDATION_MODE = RETURN_ERRORS;
Granska inläsningshistorik
SELECT * FROM TABLE(INFORMATION_SCHEMA.COPY_HISTORY(
TABLE_NAME => 'shipments',
START_TIME => DATEADD('hour', -24,
CURRENT_TIMESTAMP())));
Automatisering av datapipelines i Snowflake