使用 Snowsight 设置数据质量检查

本主题介绍如何使用 Snowsight 设置数据质量检查。您可以使用以下策略来设置数据质量检查:

有关数据质量检查概念的简介,请参阅 Core concepts of data quality checks

使用 Cortex Data Quality 设置质量检查

Cortex Data Quality 使用 AI 根据元数据特征提供数据质量检查建议。如果您接受这些建议,Snowflake 将定期检查您的数据是否存在质量问题,以识别潜在风险。

Cortex Data Quality 利用 Snowflake Cortex AI_COMPLETE 函数 来智能建议数据质量检查。由于它在 Snowflake Cortex 内部安全运行,您的企业数据和元数据将始终安全地保存在 Snowflake 内部。Cortex Data Quality 还完全遵循 Snowflake 的访问控制,仅根据您有权访问的数据提供建议。

要要使用 Cortex Data Quality 设置数据质量检查,请执行以下操作:

  1. 登录 Snowsight

  2. 在导航菜单中,依次选择 Catalog » Database Explorer,然后选择对应的对象。

  3. 选择 Data Quality 选项卡。

  4. 选择 Monitoring

  5. 执行下列操作之一:

    • 如果这是您第一次设置质量检查,请选择 Get started

    • 如果要设置额外的质量检查,请选择 Add quality check,然后选择 Suggested quality checks

  6. 查看建议的数据质量检查。要更改确定数据是否通过质量检查的标准,请编辑 What should the result be? 列的内容。

  7. 选择要实施的质量检查,然后选择 Apply

有关 Cortex Data Quality 的更多信息,请参阅 有关 Cortex Data Quality 的更多信息

手动设置质量检查

要根据您对数据的了解手动创建数据质量检查,请执行以下操作:

  1. 登录 Snowsight

  2. 在导航菜单中,依次选择 Catalog » Database Explorer,然后选择对应的对象。

  3. 选择 Data Quality 选项卡。

  4. 选择 Monitoring

  5. 执行下列操作之一:

    • 如果这是您第一次设置质量检查,请选择 Start manually

    • 如果要设置额外的质量检查,请选择 Add quality check,然后选择 Build checks manually

  6. Set up a quality check 对话框中,选择您想要创建的检查类型。

  7. 配置判定数据是否通过质量检查的标准,然后选择 Save

小技巧

如果要启用异常检测,使 Snowflake 能够根据数据的历史总量和新鲜度自动检测质量问题,可以使用 Cortex Data Quality 并接受其异常检测建议,或者 手动设置异常检测

调整质量检查的运行频率

表或视图的计划决定了支持数据质量检查运行的 DMF 的执行频率。计划可以基于时间,也可以基于表的更新。

备注

在添加至少一项质量检查之前,您无法使用 Snowsight 调整计划。您可以随时使用 ALTER <object> 命令为表或视图设置调度。

  1. 登录 Snowsight

  2. 在导航菜单中,依次选择 Catalog » Database Explorer,然后选择对应的对象。

  3. 选择 Data Quality 选项卡。

  4. 选择 Monitoring

  5. 选择 Settings

  6. 指定您希望运行 DMF 的频率:

    • 要以一天或更短的固定间隔运行 DMF,请选择 Interval-based timing 并从下拉列表中选择时间间隔。

    • 要按自定义计划运行 DMF,请选择 Select schedule 并设置计划。

    • 要在表发生 DML 更改(例如,添加行)时运行 DMF,请选择 Trigger-based execution

有关 Cortex Data Quality 的更多信息

以下部分提供了有关 Cortex Data Quality 的其他信息。

必填 LLMs

除非 CORTEX_MODELS_ALLOWLIST 账户参数允许在账户内使用 mistral-7bllama3.1-8b 模型,否则 Cortex Data Quality 将无法工作。默认情况下,这两个模型都是允许使用。有关设置此参数的更多信息,请参阅 账户级别的允许列表参数

访问控制要求

拥有 ACCOUNTADMIN 角色的管理员具备使用 Cortex 建议数据质量检查所需的所有权限。

其他用户必须拥有以下权限和角色:

  • 表的 OWNERSHIP 权限

  • 账户的 EXECUTE DATA METRIC FUNCTION 权限

  • SNOWFLAKE.DATA_METRIC_USER 数据库角色

  • SNOWFLAKE.CORTEX_USER 数据库角色

限制访问

默认情况下,CORTEX_USER 数据库角色被授予 PUBLIC 角色,这意味着每个用户都拥有该角色。如果您不希望所有用户都能使用 Snowflake Cortex 功能,可以从 PUBLIC 角色中撤销此数据库角色,然后将其授予特定角色。

要阻止用户使用 Cortex 建议质量检查,请通过运行以下命令从 PUBLIC 角色中撤销 CORTEX_USER 数据库角色。请务必使用 ACCOUNTADMIN 角色。

USE ROLE ACCOUNTADMIN;

REVOKE DATABASE ROLE SNOWFLAKE.CORTEX_USER
  FROM ROLE PUBLIC;
Copy

您现在可以通过将 CORTEX_USER 数据库角色授予特定角色来选择性地提供访问权限。在以下示例中,使用 ACCOUNTADMIN 角色,并通过您为此目的创建的账户角色 cortex_access_role 向用户 some_user 授予 CORTEX_USER 数据库角色。

USE ROLE ACCOUNTADMIN;

CREATE ROLE cortex_access_role;
GRANT DATABASE ROLE SNOWFLAKE.CORTEX_USER TO ROLE cortex_access_role;

GRANT ROLE cortex_access_role TO USER some_user;
Copy

您也可以将 CORTEX_USER 数据库角色授予现有角色。

成本注意事项

使用 Cortex Data Quality 的成本包括以下内容:

  • COMPLETE (SNOWFLAKE.CORTEX) 函数相关的成本。这些费用作为 AI 服务出现在账单上,其中包括 Snowflake Cortex 的所有使用情况。

  • 运行 Snowsight 的默认仓库的计算成本。