- 类别:
DATA_METRIC_SCHEDULED_TIME(系统数据指标函数)¶
返回计划运行 DMF 的时间戳,如果手动调用该函数,则返回当前时间戳。
您可以使用此 DMF 定义自定义指标,以衡量数据的新鲜度,或者结合已有 DMFs 定义增量指标。
语法¶
SNOWFLAKE.CORE.DATA_METRIC_SCHEDULED_TIME()
实参¶
无。
返回¶
该函数返回一个数据类型为 TIMESTAMP_LTZ 的标量值。
访问控制要求¶
关联和运行系统 DMF 需要系统 DMF 的 USAGE 权限。您可以授予 SNOWFLAKE.DATA_METRIC_USER 数据库角色,以便为用户提供所有系统 DMFs 的 USAGE 权限。有关更多信息,请参阅 授予系统 DMFs 的 USAGE 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
在 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';
手动调用数据指标函数:
SELECT data_freshness_hour(SELECT last_updated FROM hr.tables.empl_info) < 60;如果在过去一小时(60 分钟)内没有更新表,该语句将返回
True
。如果表的更新发生在一个多小时前,该语句将返回
False
。