Hồ sơ truy vấn, Lịch sử và Insights

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

Emily Melhuish

Technical Curriculum Developer, Snowflake

Vì sao dùng Query Profile

bảng điều khiển vận hành

  • Snowflake có thể đang quét dữ liệu lẽ ra không cần đụng tới
Tự động hóa Data Pipeline trong Snowflake

Mở Query Profile trong Snowsight

Cách mở query profile

Truy cập: Monitoring > Query History > [Chọn truy vấn] > Tab Query Profile

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

Đọc cây toán tử

Snowsight Query Profile hiển thị đồ thị toán tử với bảng Most Expensive Nodes

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

4 vấn đề thường gặp mà Query Profile lộ ra

Exploding Joins

  • Tạo nhiều hàng hơn mức tiêu thụ được

Union không All

  • Thêm Aggregate phía trên UNION để loại trùng
  • Chi phí = thêm thời gian

Tràn ra đĩa

  • Toán tử ngốn bộ nhớ bị thiếu RAM
  • Như Aggregate, Sort, hoặc Join lớn

Pruning kém hiệu quả

  • Thấy khi số phân vùng quét gần bằng tổng phân vùng
  • Bộ lọc hoạt động kém
Tự động hóa Data Pipeline trong Snowflake

Tràn ra đĩa: Cục bộ vs Từ xa

  • Tràn cục bộ → SSD của warehouse - chậm hơn RAM nhưng chấp nhận được
  • Tràn từ xa → lưu trữ đám mây - chậm hơn nhiều; cần khắc phục

Truy vấn chẩn đoán

SELECT 
query_id,
bytes_spilled_to_local_storage,
bytes_spilled_to_remote_storage
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
WHERE bytes_spilled_to_remote_storage > 0
ORDER BY bytes_spilled_to_remote_storage DESC
LIMIT 10;
Tự động hóa Data Pipeline trong Snowflake

QUERY_HISTORY: Nhìn toàn tài khoản

  • ACCOUNT_USAGE.QUERY_HISTORY - view lưu giữ 365 ngày
  • Hàm bảng INFORMATION_SCHEMA.QUERY_HISTORY() lưu giữ 7 ngày

Ảnh chụp đang chạy lịch sử truy vấn

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

Query Insights: Khuyến nghị tự động

đề xuất từ Query Insights

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

Ayo berlatih!

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

Preparing Video For Download...