类别:

数据指标函数

DATA_METRIC_SCHEDULED_TIME(系统数据指标函数)

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

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

语法

SNOWFLAKE.CORE.DATA_METRIC_SCHEDULED_TIME()
Copy

实参

无。

返回

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

访问控制要求

Associating and running a system DMF requires the USAGE privilege on the system DMF. You can grant the SNOWFLAKE.DATA_METRIC_USER database role to give users the USAGE privilege on all system DMFs. For more information, see Grant the USAGE privilege on system DMFs.

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

有关对 安全对象 执行 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

语言: 中文