系统数据指标函数¶
本主题是 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
中包含引用表的数据库和架构。将表中的权限授予给表所有者角色,并将以下权限授予给表所有者角色:
对 SNOWFLAKE 数据库的 IMPORTED PRIVILEGES。有关信息,请参阅 为其他角色启用 SNOWFLAKE 数据库使用。
对系统 DMF 的 USAGE。
使用 ACCOUNTADMIN 角色。
调用系统 DMF¶
手动调用 DMF 时,必须使用具有所需权限的角色。
使用以下语法调用 DMF:
SELECT <data_metric_function>(<query>)
其中:
data_metric_function
指定系统定义或用户定义的 DMF。
query
指定对表或视图进行 SQL 查询。
查询中的列必须与 DMF 签名中的列实参匹配。
例如,调用 NULL_COUNT 系统 DMF 以查看 SSN 列(即,US 社会安全号码)中的 NULL 值数量:
USE ROLE data_engineer;
SELECT SNOWFLAKE.CORE.NULL_COUNT(
SELECT ssn
FROM hr.tables.empl_info
);
您可以通过查询事件表来查看结果。有关信息,请参阅 查看 DMF 结果。
系统 DMFs¶
目前,Snowflake 支持使用以下系统 DMFs 衡量常见指标,而无需对其进行定义:
类别 |
系统 DMFs |
目的 |
---|---|---|
新鲜度 |
|
|
准确性 |
确定列中的 NULL 值数量。 |
|
唯一性 |
|
|
卷 |
|