首页 > 解决方案 > 在雪花任务中,我们是否有类似子任务将等到满足依赖关系而不是父任务条件

问题描述

我有4个流。A_STREAM、B_STREAM、C_STREAM、D_STREAM

我有一个任务链,其中 A_TASK 是父任务,它有 3 个子任务(B_TASK、C_TASK、D_TASK)。

CREATE TASK A_TASK
WAREHOUSE = XYZ
SECHDULE = '15 MINUTE'
WHEN SYSTEM$STREAM_HAS_DATA('A_STREAM)
AS 
DO Something;
CREATE TASK C_TASK
WAREHOUSE=XYZ
AFTER A_TASK
WHEN SYSTEM$STREAM_HAS_DATA('C_STREAM')
AS 
DO SOMETHING;

假设 A_TASK 被触发并完成,但是当它执行 C_TASK 流时,C_STREAM 没有数据,所以任务没有被触发。5 分钟后,C_STREAM 得到数据。

这里的问题是数据永远不会从 C_STREAM 加载到目标表,因为下次 A_TASK 不会被触发。我们如何应对这种情况?

我无法分离这些任务,因为它们在同一个目标表上运行。

在雪花任务中,我们是否有类似子任务会等到满足依赖关系的东西?

标签: snowflake-tasksnowflake-cloud-data-platformsnowflake-pipe

解决方案


推荐阅读