类别:

Information Schema表函数

CURRENT_TASK_GRAPHS

返回当前计划或正在执行的 图形 运行的状态。图形目前被定义为单个计划任务 一个由计划的根任务和一个或多个子任务组成的 任务图。就此函数而言,根任务 是指单个计划任务或任务图中的根任务。

此函数返回当前正在执行或下一个计划在未来 8 天内运行的图形运行的详细信息。要检索过去 60 分钟内完成的图形运行的详细信息,请查询 COMPLETE_TASK_GRAPHS 表函数。

该函数会返回整个 Snowflake 账户或指定根任务的图形运行详细信息。

语法

CURRENT_TASK_GRAPHS(
      [ RESULT_LIMIT => <integer> ]
      [, ROOT_TASK_NAME => '<string>' ] )
Copy

实参

所有实参均为可选。

RESULT_LIMIT => integer

用于指定函数返回的行数上限的数字。请注意,结果按 SCHEDULED_TIME 降序返回。如果匹配的行数大于结果限制,则返回具有最近计划的时间戳的图形执行,直至达到指定的限制。

范围:110000

默认:1000

ROOT_TASK_NAME => string

不区分大小写的字符串,用于指定根任务的名称。仅支持非限定任务名称。仅返回指定任务的图形运行。请注意,如果多个任务具有相同的名称,则该函数将返回每个任务的图形运行。

使用说明

  • 仅返回 ACCOUNTADMIN 角色、任务所有者(即对任务具有 OWNERSHIP 权限的角色)或具有全局 MONITOR EXECUTION 权限的角色的结果。请注意,除非具有该 MONITOR EXECUTION 权限的角色同时具有存储任务的数据库和架构的 USAGE 权限,否则输出中的 DATABASE_NAME 和 SCHEMA_NAME 值为 NULL。

  • 查询 CURRENT_TASK_GRAPHS 函数时,首先 应用其任务名称和结果限制实参,然后分别应用 WHERE 和 LIMIT 子句(如果已指定)。此外,CURRENT_TASK_GRAPHS 函数还按 SCHEDULED_TIME 降序返回记录。

    实际上,如果您的账户中正在运行许多任务图,则该函数返回的结果可能仅包含计划任务,特别是在 RESULT_LIMIT 值相对较低的情况下。

  • 当调用 Information Schema 表函数时,会话必须具有正在使用的 INFORMATION_SCHEMA 架构,或者 函数名称必须受到完全限定。有关更多详细信息,请参阅 Snowflake Information Schema

输出

该函数返回以下列:

列名称

数据类型

描述

ROOT_TASK_NAME

TEXT

根任务的名称。

DATABASE_NAME

TEXT

包含图形的数据库的名称。

SCHEMA_NAME

TEXT

包含图形的架构的名称。

STATE

TEXT

图形运行状态:

  • SCHEDULED:根任务计划在将来的时间执行。

  • EXECUTING:图形中至少一个任务运行仍在执行,或者根任务已成功运行完成,并且计划了一个或多个子任务。

请注意,如果根任务运行的状态为 SKIPPED,则该函数不会返回运行的行。

SCHEDULED_FROM

TEXT

其中之一:

对于任务图中子任务的运行,该列返回与根任务运行相同的值。

FIRST_ERROR_TASK_NAME

TEXT

图形中返回错误的第一个任务的名称;如果没有任务产生错误,则返回 NULL。

FIRST_ERROR_CODE

NUMBER

在 FIRST_ERROR_TASK_NAME 中命名的任务所返回错误的错误代码;如果没有任务产生错误,则返回 NULL。

FIRST_ERROR_MESSAGE

TEXT

在 FIRST_ERROR_TASK_NAME 中命名的任务所返回错误的错误消息;如果没有任务产生错误,则返回 NULL。

SCHEDULED_TIME

TIMESTAMP_LTZ

根任务计划开始运行的时间。注意,我们会尽最大努力确保绝对精度,但仅保证任务不会在计划时间 之前 执行。

QUERY_START_TIME

TIMESTAMP_LTZ

根任务定义中的查询开始运行的时间。此时间戳与 QUERY_HISTORY 返回的查询的开始时间一致。

NEXT_SCHEDULED_TIME

TIMESTAMP_LTZ

假设当前运行的独立任务或 任务图 从 SCHEDULED_TIME 时开始能够按时完成,则是独立任务或根任务(在 任务图 中)下次计划开始运行的时间。

ROOT_TASK_ID

TEXT

任务图 中根任务的唯一标识符。此 ID 与同一任务的 SHOW TASKS 输出中的 ID 列值匹配。

GRAPH_VERSION

NUMBER

整数,用于识别已运行或计划运行的 任务图 版本。

RUN_ID

NUMBER

任务图 中的独立任务或根任务最初计划开始运行的时间。格式是纪元时间(以毫秒为单位)。. . 最初 计划时间是指系统可能会将同一任务重新计划为在不同时间运行以重试或重新平衡负载的罕见情况。如果发生这种情况,RUN_ID 会显示最初计划运行时间,SCHEDULED_TIME 则会显示重新计划的运行时间。. . 注意,在重试之前,RUN_ID 可能不是当前任务/图形运行的唯一标识符。您可以使用 GRAPH_RUN_GROUP_ID 列来代替 RUN_ID。

ATTEMPT_NUMBER

NUMBER

整数表示尝试运行此任务的次数。最初的一次。

CONFIG

TEXT

显示图形运行期间使用的图形级别配置(如果进行了明确设置)。否则会显示 NULL。

GRAPH_RUN_GROUP_ID

NUMBER

图形运行标识符。当图形运行有多个任务运行时,每个任务运行将显示相同的 GRAPH_RUN_GROUP_ID。GRAPH_RUN_GROUP_ID 和 ATTEMPT_NUMBER 的组合可用于对图形运行进行唯一标识。

BACKFILL_INFO

OBJECT

保留以供将来使用。所有行的返回值均为 NULL。

示例

检索账户中最近的 1000 次图形运行(仍在运行或将来计划)。注意,默认情况下,函数返回的最大行数限制为 1000 行。若要更改返回的行数,请修改 RESULT_LIMIT 实参值:

select *
  from table(information_schema.current_task_graphs())
  order by scheduled_time;
Copy

检索指定任务最近的 10 次图形运行(仍在运行或将来计划)。

select *
  from table(information_schema.current_task_graphs(
    result_limit => 10,
    root_task_name=>'MYTASK'));
Copy
语言: 中文