类别:

数据指标函数

FRESHNESS

返回时间戳列的最大值与数据指标函数运行时的计划时间之间的差值(秒)。

语法

SNOWFLAKE.CORE.FRESHNESS(<query>)
Copy

实参

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 中包含引用表的数据库和架构。

  • 将表中的权限授予给表所有者角色,并将以下权限授予给表所有者角色:

  • 使用 ACCOUNTADMIN 角色。

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

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

示例

通过测量 TIMESTAMP 列来确定表中数据的新鲜度,300 秒或 5 分钟:

SELECT SNOWFLAKE.CORE.FRESHNESS(
  SELECT
    timestamp
  FROM hr.tables.empl_info
) < 300;
Copy
+---------------------------------------------------------------------+
| SNOWFLAKE.CORE.FRESHNESS(SELECT timestamp FROM hr.tables.empl_info) |
+---------------------------------------------------------------------+
| True                                                                |
+---------------------------------------------------------------------+
语言: 中文