查询以查找 Snowflake 中每个任务的根任务?

问题描述 投票:0回答:1

Snowflake 有一个“Task_Dependents”函数,它将返回指定的单个任务的根任务。

但是,我想快速找到 Snowflake 实例中大约 1200 个任务的根任务(以及调度)。

我想我可以使用 Task_Dependents 构造一个 for 循环过程,但肯定有更简单的方法吗? SHOW TASKS 确实列出了每个任务的直接前任任务。但我正在努力寻找一种简单的方法来生成每个任务的根任务 - 所以我知道每个任务的频率。

有什么想法吗?

dependencies snowflake-cloud-data-platform task root
1个回答
0
投票

应该可以使用 Snowflake 视图(snowflake.account_usage.task_versions)。请参阅此处了解更多文档


select
    name as task_name,
    iff(array_size(predecessors) = 0,
        database_name || '.' || schema_name || '.' || name, -- if the task is root task
        predecessors[0]
    ) root_task
from snowflake.account_usage.task_versions
where database_name = 'TEST_DB'
and schema_name = 'TEST_SCHEMA'
limit 100;


© www.soinside.com 2019 - 2024. All rights reserved.