成本是不是与雪花中的平均查询数成正比
Posted
技术标签:
【中文标题】成本是不是与雪花中的平均查询数成正比【英文标题】:Is cost directly proportional to average no.of queries in snow flakes成本是否与雪花中的平均查询数成正比 【发布时间】:2020-05-20 03:46:47 【问题描述】:这篇文章都是关于借助下面的链接进行仓库分析的。
https://www.snowflake.com/blog/understanding-snowflake-utilization-warehouse-profiling/
select * from table(information_schema.warehouse_load_history(date_range_start=>dateadd('hour',-1,current_timestamp())));
仓库负载
以下是持续时间为 1 小时(13:00 小时)的输出部分,间隔为 5 分钟。
图 1
上述输出的结论
1) AVG_QUEUED_LOAD , AVG_QUEUED_PROVISIONING, AVG_BLOCKED 是零,所以我不需要担心放大/缩小。
2)当我在 13:20 到 13:30 之间看到 AVG_RUNNING 的值时,我可以得出结论,我几乎没有使用仓库 (XXXXXXXXX) 运行的查询。
3) 仓库在 1 小时内除了 10 分钟外大部分时间都是空闲的。
仅供参考 - 仓库的自动暂停值配置为 1 分钟。
我使用下面的查询来了解仓库 XXXXXXXXX 使用的平均积分
cte 为 ( 选择 date_trunc('hour', start_time) 作为 start_time, end_time, warehouse_name, credits_used 从表(information_schema.warehouse_metering_history(dateadd('days',-1,current_date()),current_date())) 其中仓库名称 = 'XSMALL') 选择 date_trunc('hour', a.start_time) 作为 start_time, avg(AVG_RUNNING), avg(credits_used), avg(AVG_RUNNING) / avg(credits_used) * 100 从表(information_schema.warehouse_load_history(dateadd('days',-1,current_date()),current_date()))一个 在 a.start_time = date_trunc('hour', a.start_time) 上加入 cte b 其中 a.warehouse_name = 'XSMALL' 按 1 分组 按 1 排序;
输出:
图片2
输出结论
1)5月18日13小时的AVG(AVG_RUNNING)记录为0.02,这可以归因于图1中同一小时的AVG_RUNNING值
2) 13 小时的 AVG(CREDITS_USED) 为 0.7969887816 ,我们看到使用的积分是可以理解的,因为我们在 13 小时内运行了查询。
仓库负载
以下是持续时间为 1 小时(12:00 小时)的输出部分,间隔为 5 分钟。
图3
问题
1)为什么我们在图 2 中看到 AVG(AVG_RUNNING) 为零,尽管我们在图 3 中的 12:00 时运行了一些查询?
【问题讨论】:
【参考方案1】:您是否尝试过查看源数据?因为
select * from table(information_schema.warehouse_metering_history(dateadd('days',-5,current_date()),current_date())) where warehouse_name = 'XSMALL';
没有每小时记录。而你正在做一个
a.start_time = date_trunc('hour', a.start_time)
所以基本上:你有 24 小时,从凌晨 1 点到凌晨 2 点有 1 条记录。所以你的平均值只返回那个和那个,然后你将凌晨 1 点到 2 点的使用分配给一天中的每个小时 - 当然它会是相似的,只是我不确定这背后的想法是什么(我可以看到你从博客中获取了查询 - 但我也可以看到他的图表显示他一直在那个 WH 上运行一些东西)
【讨论】:
知道了 使用的平均积分=全天积分的总和/一天中的小时数。修改了原帖。我仍在寻找问题 1 的清晰度,关于 12 小时,我看到平均运行的平均值为零 pic 2 尽管我在 pic3 中的平均运行为 0.2,0.39,0.05。 一般查询并不总是使用仓库——有时它们可以从缓存中检索结果并且不需要仓库(或者有时它们是只使用元数据结果的查询——比如计算计数等,它们也不需要)在雪花中使用仓库)以上是关于成本是不是与雪花中的平均查询数成正比的主要内容,如果未能解决你的问题,请参考以下文章