Автоматизація конвеєрів даних у Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake



Про Harbr

Stage = тимчасове місце зберігання

Внутрішні сховища
Зовнішнє сховище
Directory Table
CREATE STAGE harbr_stage
DIRECTORY = (ENABLE = TRUE)
Шифрування внутрішніх сховищ
ENCRYPTION = (TYPE = SNOWFLAKE_FULL)
ENCRYPTION = (TYPE = SNOWFLAKE_SSE)
Шифрування зовнішніх сховищ
ENCRYPTION =
([ TYPE = 'AWS_CSE' ] MASTER_KEY = '')
ENCRYPTION =
([ TYPE = 'AWS_SSE_S3' ])
...
Напівструктуровані формати: JSON, Parquet, Avro, ORC і XML.
VARIANTОновіть об’єкт формату один раз
SQL
CREATE FILE FORMAT harbr_csv_format
TYPE = 'CSV'
FIELD_DELIMITER = ','
SKIP_HEADER = 1;
Завантаження з іменованого сховища з іменованим форматом
COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
| Параметри ON_ERROR | Поведінка |
|---|---|
ABORT_STATEMENT |
Зірвати все завантаження при першій помилці (типово) |
CONTINUE |
Пропускати некоректні рядки, решту завантажувати |
SKIP_FILE |
Пропустити весь файл, якщо є будь-які помилки |
SKIP_FILE_<num> |
Пропустити файл, лише якщо помилок більше за вказану кількість |
SKIP_FILE_<num>% |
Пропустити файл, лише якщо помилок більше за вказаний % поріг |
Перевірка без завантаження = пробний запуск
COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
VALIDATION_MODE = RETURN_ERRORS;
Перегляд історії завантажень
SELECT * FROM TABLE(INFORMATION_SCHEMA.COPY_HISTORY(
TABLE_NAME => 'shipments',
START_TIME => DATEADD('hour', -24,
CURRENT_TIMESTAMP())));
Автоматизація конвеєрів даних у Snowflake