这篇文章全是关于借助以下链接进行仓库配置的信息。
https://www.snowflake.com/blog/understanding-snowflake-utilization-warehouse-profiling/
从表中选择*(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)作为开始时间,结束时间,仓库名称,贷方已使用 来自表(information_schema.warehouse_metering_history(dateadd('days',-1,current_date()),current_date())) 其中Warehouse_name ='XSMALL') 选择date_trunc('hour',a.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 在a.start_time = date_trunc('hour',a.start_time)上加入cte b 其中a.warehouse_name ='XSMALL' 分组1 按1排序;
输出:
Pic2
输出结论
1)5月18日13小时AVG(AVG_RUNNING)记录为0.02,这可以归因于图片1中同一小时的AVG_RUNNING值
2)13小时的AVG(CREDITS_USED)为0.7969887816,这是可以理解的,因为我们有查询在13小时内运行,因此我们可以看到使用的信用。
仓库负载
下面是1小时(12:00hrs)持续时间为5分钟的输出的一部分。
Pic3
问题
1)为什么我们在pic3中的12:00时运行某些查询,但为什么在pic 2中将AVG(AVG_RUNNING)视为零?
答案 0 :(得分:0)
您是否尝试过调查源数据?因为
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上一直在运行某些东西