Stages, formáty souborů a COPY INTO

Automatizace datových pipeline ve Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowflake podporuje mnoho pracovních zátěží

Screenshot 2026-05-11 at 11.52.34 am.png

1 * Snowflake Learning Material
Automatizace datových pipeline ve Snowflake

Příklad pipeline

 

 

Screenshot 2026-05-11 at 10.48.51 am.png

1 * Snowflake Learning Material
Automatizace datových pipeline ve Snowflake

Seznamte se s Harbr

Fiktivní logo Harbr

O společnosti Harbr

  • Globální platforma pro logistiku a správu dodavatelského řetězce
  • Používá Snowflake ke sledování zásilek, skladových zásob a výkonu doručování
  • Přijímá data ze systémů dodavatelů z různých regionů
Automatizace datových pipeline ve Snowflake

Problém načítání dat

Diagram načítání dat

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

Automatizace datových pipeline ve Snowflake

Typy stages

Dva typy stages

Interní stages

  • Uživatelský
    • Osobní stage pro jednoho uživatele
  • Tabulkový
    • Vázán na konkrétní tabulku
  • Pojmenovaný
    • Databázový objekt vytvořený ve schématu

Externí stage

  • Pojmenovaný
    • Odkazuje na cloudového poskytovatele
Automatizace datových pipeline ve Snowflake

Parametry 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' ]) 

...
Automatizace datových pipeline ve Snowflake

Formáty souborů

  • Strukturované formáty: CSV s oddělovači, záhlavími a pravidly uvozování
  • Polostrukturované formáty: JSON, Parquet, Avro, ORC a XML.

    • Načítání přímo do sloupce VARIANT
    • Pravidla parsování definujte jednou, znovu použijte při všech načteních
  • Objekt formátu stačí aktualizovat jednou

SQL

CREATE FILE FORMAT harbr_csv_format
  TYPE = 'CSV'
  FIELD_DELIMITER = ','
  SKIP_HEADER = 1;
Automatizace datových pipeline ve Snowflake

COPY INTO

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')
Automatizace datových pipeline ve Snowflake

Zpracování chyb

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
Automatizace datových pipeline ve Snowflake

Režim ověření a COPY_HISTORY

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

Pojďme si procvičit!

Automatizace datových pipeline ve Snowflake

Preparing Video For Download...