查询概况、历史与洞察

Snowflake 中的数据管道自动化

Emily Melhuish

Technical Curriculum Developer, Snowflake

为何使用查询概况

operations_dashboard

  • Snowflake 可能扫描了本不应触及的数据
Snowflake 中的数据管道自动化

在 Snowsight 中打开查询概况

如何打开查询概况

访问路径:Monitoring > Query History > [选择查询] > Query Profile 选项卡

Snowflake 中的数据管道自动化

解读算子树

Snowsight 查询概况,显示算子图与“最昂贵节点”面板

Snowflake 中的数据管道自动化

查询概况揭示的四类常见问题

爆炸性连接

  • 产生的行数超出可消费量

不带 ALL 的 Union

  • UNION 上方添加聚合以去重
  • 成本 = 额外时间

磁盘溢出

  • 内存密集型算子内存不足
  • 如聚合、排序或大型连接

裁剪低效

  • 当扫描分区接近分区总数时可见
  • 过滤器未有效生效
Snowflake 中的数据管道自动化

磁盘溢出:本地 vs 远程

  • 本地溢出 → 仓库 SSD:比内存慢,但可接受
  • 远程溢出 → 云存储:慢很多,需处理

诊断查询

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;
Snowflake 中的数据管道自动化

QUERY_HISTORY:账户级可见性

  • ACCOUNT_USAGE.QUERY_HISTORY:视图,保留 365 天
  • INFORMATION_SCHEMA.QUERY_HISTORY():表函数,保留 7 天

正在运行查询历史的截图

Snowflake 中的数据管道自动化

查询洞察:自动化建议

查询洞察建议

Snowflake 中的数据管道自动化

Ayo berlatih!

Snowflake 中的数据管道自动化

Preparing Video For Download...