Snowflake 查询历史提取
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/snowflake-query-history-extractor
技能介绍
要解决的问题
在 Snowflake 环境中,查询的历史与性能数据通常分散在 INFORMATION_SCHEMA.QUERY_HISTORY 视图里。运维和安全团队需要快速识别哪些查询消耗了最多的计算资源——是 credits 消耗高?还是 扫描了大量数据?又或者触发了 远程存储 spill?手动翻查历史记录不仅低效,也难以将结果系统化地交给下游分析或团队汇报。
技能如何工作
该技能通过 Snowflake Python Connector 连接 Snowflake,并直接从查询历史视图中提取查询相关的性能元数据。核心流程包括:
- 从
INFORMATION_SCHEMA.QUERY_HISTORY中拉取查询记录; - 按 credits 消耗、数据扫描量、spillage 到远程存储 等关键指标筛选出高成本查询;
- 将结果整理为 Pandas DataFrame,方便后续进行趋势分析、成本归因,或接入 Slack 等工具做定期汇报。
适用边界与注意点
- 需要 Snowflake 账户拥有对查询历史视图的读取权限;
- 环境中必须安装
snowflake-connector-python,并完成基础的连接配置; - 技能仅提取查询历史视图中已有的元数据,不涉及实时查询监控或未入库的查询事件。
使用场景
- 运维团队每周排查Snowflake集群中credits消耗最高的TOP10查询,需提取查询历史并按消耗量排序。
- 安全团队审计期间需确认是否存在查询因扫描过多数据导致成本超支,需提取对应指标并生成报告。
- 数据分析团队需要汇总近30天内触发远程存储spill的查询列表,用于优化数据分布策略。
- 财务团队月度成本复盘时需将高消耗查询的credits数据整理成DataFrame,以便接入成本分摊系统。
适合人员
- Snowflake集群运维工程师,需定期定位高成本查询并优化资源分配。
- 数据安全审计人员,需核查查询行为是否导致异常成本或数据泄露风险。
- 数据分析团队成员,需提取特定性能指标的查询记录用于模型训练或策略调整。
- 财务成本管理人员,需获取高消耗查询的详细数据以完成月度成本分摊与汇报。