雪花任务每时每刻都在运行

时间:2020-07-02 15:28:55

标签: snowflake-cloud-data-platform snowflake-task

我目前正在执行一项雪花式的“任务”,每天凌晨在桌子上插入表格。

我当前的任务是使用以下语法创建的-

CREATE OR REPLACE TASK "DB"."SCHEMA"."SAMPLE_TASK"
  WAREHOUSE = SAMPLE_WAREHOUSE
  SCHEDULE = 'USING CRON * 12 * * * UTC'
  TIMESTAMP_INPUT_FORMAT = 'YYYY-MM-DD HH24'
AS
  CREATE OR REPLACE "DB"."SCHEMA"."EMP"
  AS 
  SELECT * FROM "DB"."SCHEMA"."EMP_STAGE";

我在CST工作,并且UTC为-7个小时,我的任务预计将在上午5点执行,并且确实如此。我确认在INFORMATION_SCHEMA中使用“ TASK_HISTORY”-

SELECT * FROM TABLE(DB.INFORMATION_SCHEMA.TASK_HISTORY()) WHERE NAME = 'SAMPLE_TASK';

但它在剩余一小时的每一分钟内还额外运行了59次,直到6点。

  • 初始QueryID时间戳-2020-07-02 05:00:00.000 -0700
  • 最终QueryID时间戳-2020-07-02 05:59:00.000 -0700

我在这里错过了什么吗?

感谢您的通读,非常感谢您的帮助。

-斯里

2 个答案:

答案 0 :(得分:4)

计划采用cron格式,因此您在分钟内使用*号,因此它将在该小时内每分钟运行一次。

cron格式的详细信息可以在网络上的许多页面上找到,一个例子如下,请注意,进入cron格式的第一个“参数”是分钟:

https://support.acquia.com/hc/en-us/articles/360004224494-Cron-time-string-format

我建议为第一个*重建值为零或一的任务。

我希望这可以帮助...丰富

答案 1 :(得分:1)

您的任务的CRON syntax通过为其分钟(第一个)组件指定一个* 来请求执行every minute within the 12th hour of the day(即60次)每天,都在第12小时)。

根据您的描述,您寻求的是以下内容:

SCHEDULE ='使用CRON 0 12 * * * UTC'

这将执行only once at 1200 hours UTC each day

使用crontab guruCRON tester之类的工具可以帮助您在将CRON计划实施到Snowflake任务之前对其进行测试。

相关问题