成本与雪花查询的平均数量成正比吗

时间:2020-05-20 03:46:47

标签: snowflake-cloud-data-platform

这篇文章全是关于借助以下链接进行仓库配置的信息。

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

enter image description here 以上输出的结论

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

enter image description here

输出结论

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

enter image description here

问题

1)为什么我们在pic3中的12:00时运行某些查询,但为什么在pic 2中将AVG(AVG_RUNNING)视为零?

1 个答案:

答案 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上一直在运行某些东西