雪花任务成本估算

时间:2021-05-21 01:00:01

标签: snowflake-cloud-data-platform

我有一个关于雪花成本估算的一般性问题。 我有一个计划每 5 分钟执行一次的任务

CREATE TASK mytask1
  WAREHOUSE = mywh
  SCHEDULE = '5 minute'
WHEN
  SYSTEM$STREAM_HAS_DATA('MYSTREAM')
AS
  INSERT INTO ... ;

如果 mystream 中没有新数据,则该任务将被跳过。 但是,由于任务仍在运行,因此是否会花费任何金钱。

请推荐

2 个答案:

答案 0 :(得分:1)

唯一可能的成本是用于元数据检查的云服务成本,以查看流是否有数据。根据云服务积分的折扣方式,很有可能您永远不会看到收费。您可以在此处详细了解云服务计费:

https://docs.snowflake.com/en/user-guide/credits.html#cloud-services-credit-usage

答案 1 :(得分:1)

CREATE TASK

<块引用>
SYSTEM$STREAM_HAS_DATA

验证 WHEN 表达式的条件不需要虚拟仓库。验证是在云服务层中处理的。 每次任务评估其 WHEN 条件并且不运行时,都会产生象征性费用。每次触发任务时,费用都会累积,直到它运行为止。届时,费用将转换为 Snowflake 积分并添加到任务运行的计算资源使用中。

通常,与任务执行时间相比,验证条件的计算时间是微不足道的。作为最佳实践,尽可能使计划任务和实际任务运行保持一致。避免与实际任务运行严重不同步的任务计划。例如,如果大约每 24 小时将数据插入带有流的表中,则不要安排每分钟检查一次流数据的任务。 每次运行验证 WHEN 表达式的费用通常是微不足道的,但费用是累积的。

请注意,低于计算资源每日使用量 10% 配额的云服务每日消耗量不会累积云服务费用。