我正在努力减少来自雪花的查询的成本。在文档中,有一个详细解释,它是按所使用的仓库大小每秒的学分。当我查看web控制台中的历史选项卡或'snowflake.account_usage.query_history‘视图时,我看到一些查询在WAREHOUSE_SIZE列中具有空值(commit语句、desc表等)。有人知道这类查询是如何收费的吗?也许他们是自由的?
在文档中似乎没有提到这一点。
发布于 2021-03-01 19:13:03
没有列出仓库的查询不通过计算学分收费。这些类型的查询使用的是雪花中的“云服务”层,收费方式不同。
查询,以确定使用了多少云服务以及是否使用云服务。
use schema snowflake.account_usage;
select query_type, sum(credits_used_cloud_services) cs_credits, count(1) num_queries
from query_history
where true
and start_time >= timestampadd(day, -1, current_timestamp)
group by 1
order by 2 desc
limit 10;发布于 2021-02-28 11:55:11
任何查询的结果都可以通过结果缓存中的服务层在接下来的24小时内使用。因此,似乎在没有任何仓库的情况下运行的查询不能有效地使用任何Warehouse。
然而,这并不一定意味着它本应用于其他用途的仓库在当时没有运行。例如,在您运行‘Q2’之前,在“您的”仓库'Q1‘中执行了另一个查询'MyWH’:虽然您的查询将在不需要运行'MyWH‘的情况下进入缓存,但'Q1’仍然会导致'MyWH‘恢复,从而消耗信用。
关于雪花缓存的更多详细信息可以在这里获得:https://community.snowflake.com/s/article/Caching-in-Snowflake-Data-Warehouse
https://stackoverflow.com/questions/66408134
复制相似问题