Tự động hóa Data Pipeline trong Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake



Giới thiệu Harbr

Stage = vị trí lưu trữ tạm thời

Internal Stages
External Stage
Directory Table
CREATE STAGE harbr_stage
DIRECTORY = (ENABLE = TRUE)
Mã hóa Internal Stage
ENCRYPTION = (TYPE = SNOWFLAKE_FULL)
ENCRYPTION = (TYPE = SNOWFLAKE_SSE)
Mã hóa External Stage
ENCRYPTION =
([ TYPE = 'AWS_CSE' ] MASTER_KEY = '')
ENCRYPTION =
([ TYPE = 'AWS_SSE_S3' ])
...
Bán cấu trúc: JSON, Parquet, Avro, ORC, XML
VARIANTChỉ cần cập nhật đối tượng định dạng một lần
SQL
CREATE FILE FORMAT harbr_csv_format
TYPE = 'CSV'
FIELD_DELIMITER = ','
SKIP_HEADER = 1;
Nạp từ named stage bằng named file format
COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
| Tùy chọn ON_ERROR | Hành vi |
|---|---|
ABORT_STATEMENT |
Dừng toàn bộ lần nạp khi gặp lỗi đầu tiên (mặc định) |
CONTINUE |
Bỏ qua dòng lỗi, nạp phần còn lại |
SKIP_FILE |
Bỏ toàn bộ tệp nếu có bất kỳ lỗi nào |
SKIP_FILE_<num> |
Chỉ bỏ tệp nếu lỗi vượt quá số lượng chỉ định |
SKIP_FILE_<num>% |
Chỉ bỏ tệp nếu lỗi vượt quá ngưỡng % chỉ định |
Xác thực không nạp = dry run
COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
VALIDATION_MODE = RETURN_ERRORS;
Xem lịch sử nạp
SELECT * FROM TABLE(INFORMATION_SCHEMA.COPY_HISTORY(
TABLE_NAME => 'shipments',
START_TIME => DATEADD('hour', -24,
CURRENT_TIMESTAMP())));
Tự động hóa Data Pipeline trong Snowflake