监控 Snowsight 中的数据质量检查¶
您可以使用 Snowsight 页面,以监控表或视图中的数据质量。它提供了与对象相关的数据度量函数 (DMFs) 的交互式视图,包括对这些 DMFs 结果的分析洞察。
为了更好地了解数据质量和 DMFs,请参阅 数据质量和数据指标函数简介。
开始使用¶
要开始深入了解对象的数据质量,请执行以下操作:
了解哪些 DMFs 正在运行¶
与对象关联的 DMFs 列在 Quality Dimensions 下面。
DMFs 分组如下:
系统 DMFs 根据其 类别 分组。例如,NULL_COUNT 和 BLANK_COUNT DMFs 被分组为 Accuracy 类别。当类别中只有一个系统 DMF 时(例如,Volume 类别中的 ROW_COUNT DMF),系统会省略名称 DMF。
与对象关联的全部 自定义 DMFs 会在 Custom 下分组。
对于每个 DMF,DMF 和对象之间的每个对应关系都会单独显示为一行。请记住,只要列实参不同,则相同 DMF 可以多次与同一对象关联。若存在多行数据,请选择特定列所在行,以查看将该列作为参数运行 DMF 后的结果。
例如,假设 NULL_COUNT DMF 通过以下 SQL 语句与表 t1 相关联:
ALTER TABLE t1
ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.NULL_COUNT
ON (c1);
包含列 c1 的行显示运行此 DMF 的结果。
Run Schedule 小组件指定 DMFs 的运行频率。这对应着为该对象的 DATA_METRIC_SCHEDULE 参数所设置的值。有关更多信息,请参阅 计划 DMF 运行。
调查未通过的质量检查¶
数据质量检查包括具有 期望 的 DMF 关联。期望允许您定义标准,以确定数据是否通过由 DMF 执行的数据质量检查。当 DMF 返回值时,将该值与期望的标准进行比较,以确定数据是否通过检查。有关使用期望设置数据质量检查的更多信息,请参阅 使用期望来实施数据质量检查。
您可以使用以下过程来调查未通过的质量检查。
- 第 1 步:是否存在未通过的质量检查?
与该对象关联的所有 DMFs 的质量检查失败次数会显示在 Monitoring 页面顶部。
- 第 2 步:哪个 DMF 类别未通过质量检查?
使用 Checks by dimension 小部件检查 Monitoring 页面上每组 DMFs 的状态。红色表示该组中至少有一个 DMF 未通过质量检查。
- 第 3 步:哪个 DMF 关联未通过质量检查?
如果该类别中至少存在一项质量检查失败,请展开该类别的小部件,然后扫描 Quality Checks 列以找到未全部通过检查的行。
- 第 4 步:什么是质量检查?
为了更好地了解您正在调查的质量检查,请执行以下操作:
- 第 5 步:哪些资产受到质量问题的影响?
打开侧面板,找到 Impacted Assets 部分,以便您可以确定哪些其他对象可能受到质量问题的影响。有关解释对象列表的信息,请参阅 Impacted Assets 部分。
- 第 6 步:哪些记录违反了质量检查?(仅选择系统 DMFs)
打开侧面板,选择 View Failed Records。
执行预填充的查询以查看未通过质量检查的记录。此查询调用 SYSTEM$DATA_METRIC_SCAN 函数。
有关使用 SYSTEM$DATA_METRIC_SCAN 函数修复数据质量问题的信息,请参阅 使用 SYSTEM$DATA_METRIC_SCAN 修复数据。
深入了解 DMF 结果¶
Quality Dimensions 下面的每一行显示 DMF 的最新结果以及七天的结果趋势。要深入查看这些结果,请选择一行以打开侧面板。下面介绍此侧面板的元素。
- View Lineage 按钮
选择一个 DMF 来查看与该 DMF 关联对象的 沿袭。
- View failed records 按钮(仅选择系统 DMFs)
如果 DMF 返回大于 0 的值时,您可以确定哪些记录被标记为存在质量问题。例如,如果 NULL_COUNT DMF 返回
5,那么您可以确定哪五个记录包含 NULL 值。选择 View failed records 打开一个工作表,其中预填充了一个查询,该查询调用 SYSTEM$DATA_METRIC_SCAN 函数。执行此查询以返回包含在 DMF 结果中的记录。
有关使用 SYSTEM$DATA_METRIC_SCAN 函数的更多信息,请参阅 数据质量问题的补救。
- Arguments 部分(仅限多实参 DMFs)
如果自定义 DMF 将多列作为实参,则列出这些列。您可以选择某一列,导航至包含该列的对象的 Columns 标签页。
- Quality Checks 部分
列出已添加到 DMF 与对象关联关系中的 期望 规则。每个期望都会实施数据质量检查。此部分包含以下列:
Name – 期望的名称。
Expression – 期望的表达式。有关更多信息,请参阅 定义符合期望的内容。
Status – 指示上次 DMF 运行时是否违反了该期望规则。
- Impacted Assets 部分
显示与 DMF 关联的对象在血缘关系中的 下游 对象。如果存在数据质量问题,您可以确定哪些其他对象可能受到影响。该部分的内容取决于 DMF 是接受单个实参(如系统 DMFs)还是接受多个实参。
如果 DMF 接受一列作为实参,Snowflake 会检查下游对象是否包含该列中的数据。例如,假设 NULL_COUNTDMF 标识
t1表的列name中的 NULL 值。只有当包含name列的数据时,基于t1构建的下游视图才会出现在受影响资产列表中。如果 DMF 接受多列,即使下游对象中不存在列中的数据,也会显示所有下游对象。
- Run History 部分
以图形方式显示 DMF 随时间的变化结果,以便您分析趋势。