Snowflake 中仓库大小如何自动变化?

How does warehouse size change automatically in Snowflake?

我在SnowFlake有一个小仓库,minimum clusters = 1maximum clusters = 5scaling policy设置为standard。但是,当我查看查询历史记录配置文件时,我看到对于某些查询,size 列设置为 large,但 cluster number 仍为 1。

现在,我知道自动缩放有助于增加集群数量,但是在没有人工干预的情况下,仓库大小如何针对某些查询发生变化?

我参考了SnowFlake的官方文档here,但是没有找到自动改变仓库大小的方法。

Snowflake does not carry any feature 会自动改变仓库的大小。

正在使用的工具(或用户)可能有 运行 和 ALTER WAREHOUSE SET WAREHOUSE_SIZE=LARGE。目的可能是为更大的操作做准备,暂时保证足够的性能。

使用各种 history views to find out who/what and when such a change was run. For example, the QUERY_HISTORY 视图可能有助于查找用于更改仓库大小的用户名和角色,查询如下:

SELECT DISTINCT user_name, role_name, query_text, session_id, start_time
FROM snowflake.account_usage.query_history
WHERE query_text ILIKE 'ALTER%SET%WAREHOUSE_SIZE%=%LARGE%'
AND start_time > CURRENT_TIMESTAMP() - INTERVAL '7 days';

那你可以用LOGIN_HISTORY view to find which IP the user authenticated from during the time (or use the history UI for precise client information), check all other queries executed in the same session

为防止未经授权的用户修改仓库大小,请考虑 restricting warehouse-level grants 他们的角色(可以通过上面的查询检测到正在使用的角色名)。