Bảng động

Tự động hóa Data Pipeline trong Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Bảng động vs Streams và Tasks

Bảng động:

Ảnh chụp màn hình 11:14:23, 11-05-2026.png

  • Đơn giản hóa biến đổi pipeline bằng câu lệnh SQL khai báo
  • Quy trình làm mới tự động
  • Snowflake phát hiện, lập lịch và hợp nhất

Streams và tasks:

Ảnh chụp màn hình 11:14:13, 11-05-2026.png

1 * Tài liệu học Snowflake
Tự động hóa Data Pipeline trong Snowflake

Bảng động là gì?

Tự động hóa pipeline theo kiểu khai báo

  • Nội dung do truy vấn SELECT xác định — mô tả kết quả, Snowflake quản lý làm mới
  • Không cần cấu hình stream, không cần lập lịch task
CREATE DYNAMIC TABLE logistics.delivery_summary
  TARGET_LAG = '1 hour'
  WAREHOUSE = harbr_wh
AS
  SELECT region, COUNT(*) AS shipments,
         AVG(delivery_days) AS avg_days
  FROM logistics.shipments GROUP BY region;
Tự động hóa Data Pipeline trong Snowflake

TARGET_LAG: Giảm độ cũ

Thỏa thuận độ tươi giữa bạn và Snowflake

Giá trị TARGET_LAG Tác dụng
'5 minutes' Bảng không cũ quá 5 phút — làm mới thường xuyên
'1 hour' Làm mới thưa hơn — giảm chi phí tính toán
DOWNSTREAM Suy ra độ trễ từ bảng phụ thuộc phía sau — lý tưởng cho bảng xâu chuỗi
Tự động hóa Data Pipeline trong Snowflake

Làm mới toàn phần vs gia tăng

Làm mới gia tăng

  • Theo dõi chính xác các hàng nguồn thay đổi
  • Chỉ làm mới các hàng bị ảnh hưởng — nhanh hơn, rẻ hơn khi mở rộng
-- Thân thiện với gia tăng: 
SELECT region, COUNT(*) AS shipments
FROM logistics.shipments 
GROUP BY region;

Làm mới toàn phần

  • Xử lý lại toàn bộ truy vấn
  • Bắt buộc cho một số phép tổng hợp và phép toán tập hợp
Tự động hóa Data Pipeline trong Snowflake

Xâu chuỗi bảng động

Sơ đồ pipeline — delivery_events (nguồn) → cleaned_events (target_lag = DOWNSTREAM) → delivery_summary (target_lag = 1 HOUR)

  • Mỗi bước biến đổi là một bảng động riêng với truy vấn riêng
  • Làm mới tự lan truyền qua chuỗi
  • Độ trễ DOWNSTREAM theo nhu cầu bảng kế tiếp — tránh làm mới quá mức
Tự động hóa Data Pipeline trong Snowflake

Bảng động vs Streams và Tasks

Bảng động: khai báo

  • Mô tả đầu ra; Snowflake quản lý làm mới, dễ quản trị
  • Phù hợp lớp phân tích/báo cáo
-- Khai báo kết quả cho Snowflake 
CREATE DYNAMIC TABLE logistics.summary
  TARGET_LAG = '1 hour' 
  WAREHOUSE = harbr_wh
AS SELECT region, COUNT(*) 
FROM shipments 
GROUP BY 1;

Streams + Tasks: mệnh lệnh

  • Kiểm soát chạy cái gì và khi nào
  • Tốt cho logic phân nhánh phức tạp và pipeline vận hành
-- Bạn kiểm soát mọi bước
CREATE TASK process_events 
  SCHEDULE = '5 MINUTE'
  WHEN SYSTEM$STREAM_HAS_DATA
  ('events_stream')
AS CALL logistics.process_new_events();
Tự động hóa Data Pipeline trong Snowflake

DYNAMIC_TABLE_REFRESH_HISTORY

SELECT name, state, refresh_start_time, refresh_end_time
FROM TABLE (
    INFORMATION_SCHEMA.DYNAMIC_TABLE_REFRESH_HISTORY (
      NAME_PREFIX => 'HARBR_DB.DELIVERY_SUMMARY.', ERROR_ONLY => TRUE
    )
  )
ORDER BY name, data_timestamp;
NAME TRIGGER STATE START END
DELIVERY_SUMMARY SCHEDULED SUCCEEDED 2026-03-01 05:00:00 2024-03-01 05:00:08
DELIVERY_SUMMARY SCHEDULED FAILED 2026-03-01 04:00:00 2024-03-01 04:00:03
Tự động hóa Data Pipeline trong Snowflake

Ayo berlatih!

Tự động hóa Data Pipeline trong Snowflake

Preparing Video For Download...