Tự động hóa Data Pipeline trong Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake
Tình huống:
Giải pháp: Snowpipe

COPY INTO theo lịch chạy lúc nửa đêm — trễ 24 giờ-- Nightly batch: runs at 00:00, data arrives all day
COPY INTO logistics.delivery_events
FROM @harbr_s3_stage/events/
FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
-- A 9am exception won't appear until tomorrow
COPY INTO — cùng cú pháp, cùng định dạng tệpCREATE PIPE harbr_events_pipe AS
COPY INTO logistics.delivery_events
FROM @harbr_s3_stage/events/
FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');

AUTO_INGEST — theo sự kiện; lưu trữ đám mây phát thông báoinsertFiles hoặc insertReport trực tiếp từ mã điều phối
| Snowpipe | Snowpipe Streaming | |
|---|---|---|
| Kích hoạt | Tệp đến stage | Hàng do ứng dụng ghi |
| Độ trễ | Phút | Giây |
| Trường hợp dùng | Nguồn sự kiện dựa trên tệp | GPS, IoT, dữ liệu ứng dụng thời gian thực |
Loại bỏ hoàn toàn ranh giới tệp
# Snowpipe Streaming: application writes rows directly
channel = client.openChannel('GPS_CHANNEL', 'LOGISTICS', 'GPS_EVENTS')
channel.insertRows(rows=[
{'vehicle_id': 'V001', 'lat': 51.5, 'lng': -0.12, 'ts': now()}
])

| Phương thức | Khi nào dùng |
|---|---|
| COPY INTO | Nạp theo lô định kỳ: tệp hằng đêm, xuất hằng tuần; chấp nhận độ trễ hàng giờ |
| Snowpipe | Tệp đến liên tục; cần nạp trong vài phút sau khi đến |
| Snowpipe Streaming | Dữ liệu do ứng dụng tạo: GPS, IoT, thị trường tài chính; dữ liệu có trong vài giây |
Tự động hóa Data Pipeline trong Snowflake