Automatizace datových pipeline ve Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake



O společnosti Harbr

Stage = dočasné úložiště

Interní stages
Externí stage
Directory Table
CREATE STAGE harbr_stage
DIRECTORY = (ENABLE = TRUE)
Šifrování interního stage
ENCRYPTION = (TYPE = SNOWFLAKE_FULL)
ENCRYPTION = (TYPE = SNOWFLAKE_SSE)
Šifrování externího stage
ENCRYPTION =
([ TYPE = 'AWS_CSE' ] MASTER_KEY = '')
ENCRYPTION =
([ TYPE = 'AWS_SSE_S3' ])
...
Polostrukturované formáty: JSON, Parquet, Avro, ORC a XML.
VARIANTObjekt formátu stačí aktualizovat jednou
SQL
CREATE FILE FORMAT harbr_csv_format
TYPE = 'CSV'
FIELD_DELIMITER = ','
SKIP_HEADER = 1;
Načtení z pojmenovaného stage s pojmenovaným formátem
COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
| Možnosti ON_ERROR | Chování |
|---|---|
ABORT_STATEMENT |
Přeruší celé načtení při první chybě (výchozí) |
CONTINUE |
Přeskočí chybné řádky, zbytek načte |
SKIP_FILE |
Přeskočí celý soubor, pokud obsahuje chyby |
SKIP_FILE_<num> |
Přeskočí soubor, pokud počet chyb překročí limit |
SKIP_FILE_<num>% |
Přeskočí soubor, pokud podíl chyb překročí práh |
Ověření bez načtení = zkušební běh
COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
VALIDATION_MODE = RETURN_ERRORS;
Kontrola historie načítání
SELECT * FROM TABLE(INFORMATION_SCHEMA.COPY_HISTORY(
TABLE_NAME => 'shipments',
START_TIME => DATEADD('hour', -24,
CURRENT_TIMESTAMP())));
Automatizace datových pipeline ve Snowflake