数据管理DMS的数据质量功能可以通过自定义表或列维度的数据质量规则,结合任务流的稽核任务自动检查数据质量,保证数据的一致性、唯一性、充分性等,提升二次数据分析与开发的质量。

前提条件

  • 目标实例的管控模式为安全协同。更多信息,请参见管控模式
  • 您具有如下任意权限。
    • 您的角色为管理员、DBA或结构只读,更多信息,请参见系统角色
    • 您为目标实例的实例Owner或实例DBA,更多信息,请参见编辑实例
    • 您具有表或表所属库的查询、变更、导出任意一个权限,更多信息,请参见查看我的权限

背景信息

越来越多的数据需要进行二次数据分析与开发,但这些数据往往来源各异、结构多样、数据量大且相互依赖,在这样的情况下,保障数据正确、符合预期,提高数据质量显得尤为重要。例如,将获取到的数据投入二次数据分析前,先检验数据质量是否符合预期,以确保数据分析任务顺利进行。

名词解释

  • 数据质量规则:为保障数据符合某些预期,对表或列设置的规则。例如,表的行数需要为固定值,列的最大值为100等。
  • 稽核任务:用于监测与校验数据是否符合目标数据质量规则。设置质量规则和调度周期后,自动检查数据质量并生成报告。

操作步骤

  1. 登录数据管理DMS 5.0
  2. 进入表详情页面。您可以选择以下任意一种方式进入表详情。
    • 通过SQL Console控制台进入。
      1. 在顶部菜单栏中,选择SQL窗口 > SQL窗口
      2. 请先选择数据库对话框中,搜索并选择目标数据库,单击确认
      3. 在右上角的扩展功能区域,单击表列表表详情
      4. 操作列中,选择更多 > 查看表详情,进入表详情页面。
    • 通过搜索进入。
      1. 单击首页页签,在页面中间的搜索框中,输入目标表名称。
      2. 选择标签,单击目标表最右侧的详情按钮,进入表详情页面。
      表详情
  3. 单击数据质量页签。
  4. 单击创建规则,并在右侧弹出的面板中,配置参数。
    配置项说明举例:某列的最大值为100
    规则名称定义规则的名称。列的最大值为100
    规则类型选择规则的类型,支持的选项:
    • 表规则:创建表级别的规则,例如检验表的行数是否符合预期。
    • 列规则:创建列级别的规则,例如检验列中空值的个数。
    列规则
    规则模版选择系统内置规则模版,更多信息,请参见数据质量规则模板列的最大值
    列名选择规则所应用的目标列名。

    该参数仅在规则类型列规则时显示。

    columns_test
    比较方式选择比较方式,实际值将与期望值进行比较。

    支持大于大于等于等于小于等于小于不等于

    小于等于
    期望值输入期望的目标值。100
  5. 单击确定
    数据质量规则创建成功后,默认状态为已启用
    说明 您还可以在目标规则模板的操作列,执行以下操作:
    • 单击禁用,禁用目标规则模板。禁用后,该规则模板将无法新建稽核任务。

      若该规则模板已应用在稽核任务中,会禁用失败,请删除目标稽核任务后重试。

    • 选择更多 > 编辑,编辑数据质量规则。
    • 选择更多 > 日志,查看规则的历史版本。
  6. 在目标规则模板的操作列,选择更多 > 新建任务流
    新建任务流
  7. 系统自动跳转至任务编排页面,在任务编排中配置稽核任务节点,并发布该任务流。
    说明 更多信息,请参见任务编排概述
    设置任务流的调度周期并发布后,系统会自动根据调度周期和数据质量规则对数据进行检测。

数据质量规则模板

规则类型规则模版
表规则表的行数(固定值):检验当前表的行数是否满足预期。例如配置表的行数小于10万行。
列规则
  • 列的最大值:检验某列中的最大值是否满足预期,例如配置表的主键最大值不能超过2147483647(即2³¹ - 1)。
  • 列的最小值:检验某列中的最小值是否满足预期,例如配置表中某零配件的字段最小值不能低于3。
  • 符合含通配符的该表达式的个数(固定值):检验某列中符合格式要求的个数是否符合预期。例如配置某字段中以a开头的个数必须小于10。
  • 符合该正则表达式的个数(固定值):检验某列中符合格式要求的个数是否符合预期,例如配置某列(存储电子邮箱)中符合正则表达式要求的个数必须大于100。
  • 列中空值的个数(固定值):检验某列中空值的个数是否满足预期,例如配置某列中空值的个数小于等于0。
  • 列中唯一值的个数(固定值):检验某列中唯一值的个数是否满足预期,例如配置某列中唯一值的个数大于等于100,以保障所有数据中一定会出现100个不同的值。
  • 列中重复值的个数(固定值):检验某列中重复的个数是否满足预期,例如配置某列中重复值的个数一定小于100,以保障所有数据中出现重复值的次数不会超过100。