类别:

数据指标函数

DATA_METRIC_SCHEDULED_TIME(系统数据指标函数)

返回计划运行 DMF 的时间戳,如果手动调用该函数,则返回当前时间戳。

您可以使用此 DMF 定义自定义指标,以衡量数据的新鲜度,或者结合已有 DMFs 定义增量指标。

语法

SNOWFLAKE.CORE.DATA_METRIC_SCHEDULED_TIME()
Copy

实参

无。

返回

该函数返回一个数据类型为 TIMESTAMP_LTZ 的标量值。

访问控制要求

关联和运行系统 DMF 需要系统 DMF 的 USAGE 权限。您可以授予 SNOWFLAKE.DATA_METRIC_USER 数据库角色,以便为用户提供所有系统 DMFs 的 USAGE 权限。有关更多信息,请参阅 授予系统 DMFs 的 USAGE 权限

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

在 SELECT 查询中手动调用此函数时,将返回与 CURRENT_TIMESTAMP 函数相同的值。

示例

创建自定义数据指标函数,以确定最近一小时表中的数据新鲜度:

CREATE OR REPLACE DATA METRIC FUNCTION data_freshness_hour(
  ARG_T TABLE (ARG_C TIMESTAMP_LTZ))
  RETURNS NUMBER AS
  'SELECT TIMEDIFF(
     minute,
     MAX(ARG_C),
     SNOWFLAKE.CORE.DATA_METRIC_SCHEDULED_TIME())
   FROM ARG_T';
Copy

手动调用数据指标函数:

SELECT data_freshness_hour(SELECT last_updated FROM hr.tables.empl_info) < 60;
Copy

如果在过去一小时(60 分钟)内没有更新表,该语句将返回 True

如果表的更新发生在一个多小时前,该语句将返回 False

语言: 中文