系统数据指标函数

本主题是 Snowflake 提供给所有账户的系统数据指标函数 (DMFs) 的参考。

可以调用这些系统 DMFs 以立即开始衡量数据质量。

关于系统 DMFs

Snowflake 在共享 SNOWFLAKE 数据库 的 CORE 架构中提供系统 DMFs。系统 DMFs 由 Snowflake 维护;您不能更改任何系统 DMF 的名称或功能。

每个系统 DMF 可帮助您衡量不同的数据质量属性。您可以为一个表或视图分配多个系统 DMF,以便更全面地衡量数据质量,从而满足您的治理和合规性需求。

要使用系统 DMF,请选择以下访问控制方法之一:

  • 将 DATA_METRIC_USER 数据库角色授予给表所有者角色,该角色对表具有 OWNERSHIP 权限。此数据库角色对 SNOWFLAKE.CORE 架构具有 USAGE 权限,对 SNOWFLAKE.CORE 架构中的所有系统 DMFs 具有 USAGE 权限。

    此外,还将下表中的权限授予给表所有者角色:

    权限

    对象

    备注

    EXECUTE DATA METRIC FUNCTION

    账户

    通过此权限,您可以控制哪些角色有权访问无服务器计算资源以调用系统 DMF。

    USAGE

    数据库、架构

    这些对象是在 query 中包含引用表的数据库和架构。

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

  • 使用 ACCOUNTADMIN 角色。

调用系统 DMF

手动调用 DMF 时,必须使用具有所需权限的角色。

使用以下语法调用 DMF:

SELECT <data_metric_function>(<query>)
Copy

其中:

data_metric_function

指定系统定义或用户定义的 DMF。

query

指定对表或视图进行 SQL 查询。

查询中的列必须与 DMF 签名中的列实参匹配。

备注

以下系统 DMFs 不遵循此语法,因为它们不采用任何实参:

例如,调用 NULL_COUNT 系统 DMF 以查看 SSN 列(即,US 社会安全号码)中的 NULL 值数量:

USE ROLE data_engineer;
SELECT SNOWFLAKE.CORE.NULL_COUNT(
  SELECT ssn
  FROM hr.tables.empl_info
);
Copy

您可以通过查询事件表来查看结果。有关信息,请参阅 查看 DMF 结果

系统 DMFs

目前,Snowflake 支持使用以下系统 DMFs 衡量常见指标,而无需对其进行定义:

类别

系统 DMFs

目的

新鲜度

  • 确定列数据的新鲜度。

  • 定义自定义新鲜度指标。

准确性

确定列中的 NULL 值数量。

唯一性

  • 确定列中的重复值数量,包括 NULL 值。

  • 确定列中的非 NULL 值数量。

  • 计算表中的行数。

  • 返回表中指定列的唯一非 NULL 值总数。

语言: 中文