如何实现Snowflake Tasks任务层级的图形化可视化展示
Snowflake任务依赖图形化展示方案
Snowflake支持使用AFTER语法创建任务链。
AFTER string
该参数用于指定当前任务的前置任务,当前置任务成功运行完成后,将在短暂延迟后触发当前任务执行。
该参数可用于定义简单的任务树,即按依赖关系组织的任务集合。 此处的任务树指以调度根任务为起点、通过依赖关系串联的一系列任务。
示例任务定义
现有任务定义代码如下:
CREATE DATABASE TEST; CREATE WAREHOUSE Developer WITH WAREHOUSE_SIZE = 'XSMALL' WAREHOUSE_TYPE = 'STANDARD'; CREATE SCHEMA TEST; CREATE OR REPLACE TASK task1 WAREHOUSE = Developer SCHEDULE = '10 minute' AS SELECT system$wait(20); CREATE OR REPLACE TASK task2 WAREHOUSE = Developer AFTER task1 AS SELECT system$wait(30); CREATE OR REPLACE TASK task3 WAREHOUSE = Developer AFTER task2 AS SELECT system$wait(60); CREATE OR REPLACE TASK task4 WAREHOUSE = Developer AFTER task1 AS SELECT system$wait(20); CREATE OR REPLACE TASK task5 WAREHOUSE = Developer AFTER task1 AS SELECT system$wait(30); CREATE OR REPLACE TASK task6 WAREHOUSE = Developer AFTER task3 AS SELECT system$wait(40); CREATE OR REPLACE TASK task7 WAREHOUSE = Developer AFTER task5 AS SELECT system$wait(50); CREATE OR REPLACE TASK task8 WAREHOUSE = Developer AFTER task5 AS SELECT system$wait(30);
实现图形化展示
可直接使用通用Mermaid流程图实现可视化,目前绝大多数笔记工具、文档平台都原生支持Mermaid语法渲染,生成的流程图可直接用于文档或任务依赖概览。
对应的Mermaid代码如下:
graph TD A[task1<br>调度周期:10分钟] --> B[task2<br>执行时长:30s] A --> C[task4<br>执行时长:20s] A --> D[task5<br>执行时长:30s] B --> E[task3<br>执行时长:60s] E --> F[task6<br>执行时长:40s] D --> G[task7<br>执行时长:50s] D --> H[task8<br>执行时长:30s]
渲染后的任务依赖结构:
- 根节点为定时调度的task1
- task1触发三个下游任务:task2、task4、task5
- task2触发task3,task3触发task6
- task5触发两个下游任务:task7、task8
- task4无后续依赖任务
内容的提问来源于stack exchange,提问作者Lukasz Szozda
相关产品推荐
相关产品推荐

