- 类别:
FRESHNESS¶
返回时间戳列的最大值与数据指标函数运行时的计划时间之间的差值(秒)。
语法¶
SNOWFLAKE.CORE.FRESHNESS(<query>)
实参¶
query
指定对表或视图进行 SQL 查询。
允许的数据类型¶
query
中引用的列必须具有以下数据类型之一:
TIMESTAMP_LTZ
TIMESTAMP_TZ
返回¶
该函数返回一个数据类型为 NUMBER 的标量值。
访问控制要求¶
要使用系统 DMF,请选择以下访问控制方法之一:
将 DATA_METRIC_USER 数据库角色授予给表所有者角色,该角色对表具有 OWNERSHIP 权限。此数据库角色对 SNOWFLAKE.CORE 架构具有 USAGE 权限,对 SNOWFLAKE.CORE 架构中的所有系统 DMFs 具有 USAGE 权限。
此外,还将下表中的权限授予给表所有者角色:
权限
对象
备注
EXECUTE DATA METRIC FUNCTION
账户
通过此权限,您可以控制哪些角色有权访问无服务器计算资源以调用系统 DMF。
USAGE
数据库、架构
这些对象是在
query
中包含引用表的数据库和架构。将表中的权限授予给表所有者角色,并将以下权限授予给表所有者角色:
对 SNOWFLAKE 数据库的 IMPORTED PRIVILEGES。有关信息,请参阅 为其他角色启用 SNOWFLAKE 数据库使用。
对系统 DMF 的 USAGE。
使用 ACCOUNTADMIN 角色。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
示例¶
通过测量 TIMESTAMP
列来确定表中数据的新鲜度,300 秒或 5 分钟:
SELECT SNOWFLAKE.CORE.FRESHNESS(
SELECT
timestamp
FROM hr.tables.empl_info
) < 300;
+---------------------------------------------------------------------+
| SNOWFLAKE.CORE.FRESHNESS(SELECT timestamp FROM hr.tables.empl_info) |
+---------------------------------------------------------------------+
| True |
+---------------------------------------------------------------------+