规则模板

更新时间: 2023-06-20 14:36:10

根据实际业务需求创建数据表质量模板,方便后续数据表质量规则的配置。本文为您介绍如何新建质量规则模板。

新建规则模板

  1. 在Dataphin首页,单击顶部菜单栏中的资产

  2. 按照下图指引,进入新建规则模板对话框。

    image
  3. 新建规则模板对话框,根据下表配置参数。

    image

    区域

    参数

    描述

    基本信息

    模板名称

    自定义规则模板名称,不能超过64个字符。

    模板类型

    不同规则大类对应的模板类型不同。

    • 有效性包括数据标准码表参照对比(需开通数据标准模块)、码表参照对比字段格式校验字段值域校验字段长度校验

    • 一致性包括单字段业务逻辑一致性比较两表字段统计值一致性比较两表字段业务逻辑一致性比较单表字段统计值一致性比较跨源两表字段统计值一致性比较

    • 及时性包括单表时间字段比较两表时间字段比较时间函数比较

    对应模板类型关系介绍,请参见规则模板定义

    数据源类型

    可选择通用特定类型两种类型。

    • 模板需要指定支持的数据源信息。指定后如果被不支持的数据源所引用,会提示不支持当前数据源类型。

    • 一些模板在定义上(如完整性)和具体的数据源无关,数据源类型可以选择通用;一些模板(如含有自定义表达式的模板)的可用性可能和具体的数据源有关,则需要选择支持的数据源类型。

    描述

    自定义规则模板描述。不超过128字符。

    模板配置

    模板类型选择为一致性大类时,对应的参数如下所示。

    • 单字段业务逻辑一致性比较:

      • 识别表达式:输入SQL表达式函数。例如${total_sales}=${unit_price}*${sales_volume}

        说明
        • 识别表达式支持使用函数,但需要注意执行时的数据库需要支持该函数。

        • 支持多个字段之间的业务逻辑的校验。如总销售额=单价*销售数量,校验总销售额是否出错可以用${total_sales}=${unit_price}*${sales_volume}

        • 表达式中的${total_sales}等变量需要指定实际的表字段,并在执行时会被替换为实际的表字段。

    • 两表字段统计值一致性比较/单表字段统计值一致性比较

      • 统计方式:可统计字段分组个数、字段最大值、字段重复率等,详情请参见模板类型说明

    • 两表字段业务逻辑一致性比较:

      • 业务逻辑:输入SQL表达式函数。例如${T1.total_sales}=${T2.unit_price}*${T2.sales_volume}

        说明
        • 支持多个字段之间的业务逻辑的校验。如总销售额=单价*销售数量,校验总销售额是否出错可以用${T1.total_sales}=${T2.unit_price}*${T2.sales_volume}

        • 表达式中的${T1.total_sales}等变量需要指定实际的表字段,并在执行时会被替换为实际的表字段,最多支持双表。

    • 跨源两表字段统计值一致性比较

      • 统计方式:可统计字段分组个数、字段最大值、字段重复率等,详情请参见模板类型说明

      • 数据源类型:选择该物理表的数据源类型。

      • 数据源:选择该物理表所属的数据源。

      • 选择比较表:选择物理表中需要比较的表及该物理表需要比较的字段。

    模板类型选择为有效性大类时,对应的参数如下所示。

    • 数据标准码表参照对比(需开通数据标准模块):

      • 码表:选择在数据标准下已发布状态的码表,如需创建码表,请参见新建和管理标准代码(码表)

      • 码表参照:根据此处选择的参照值和字段值进行比较,可选代码值代码名称代码英文名

    • 码表参照对比:

      • 数据源类型:选择数据源类型。

      • 数据源:选择对应数据源类型的数据源。

        说明
        • 为了性能考虑,跨数据源最多只会读取1000条码表数据进行对比,建议码表和被检验表在同一数据源。

        • 跨数据源对比字段会被自动转换为string类型, 部分特殊字段类型可能会出现异常情况。建议码表中的字段类型和校验字段类型都是string或其他相同类型。

      • 码表:选择目标码表。

      • 码表名称:输入码表名称,作为质量规则配置时的提示信息。

      • 码表参照字段:选择码表中对应的参照字段。

        说明

        码表参照表是判断某个字段是否在码表中,需要选择一个对比的字段。例如判断用户详情表里的用户ID是否都是注册用户。

      • 码表过滤条件:设置分区表的过滤条件,对数据进行过滤。

    • 字段格式校验:

      • 内容识别形式:可选择识别表达式正则表达式两种方式,表达式用于匹配符合规则的数据。

      • 识别表达式:输入SQL表达式函数。例如${column1}>0,其中${column}为内置参数。

        说明

        识别表达式支持使用函数,但需要注意执行时的数据库需要支持该函数。

    • 字段值域校验:

      • 值域类型:根据实际业务选择。

        • 文本:用于对文本有效性进行验证,需要确保校验字段为文本类型。需设置值域范围,支持枚举区间设置。选择枚举值的校验示例:对比张三和李四,生成的校验SQL为 x in ("张三", "李四")

        • 数字:用于对数值有效性进行验证,需要确保校验字段为数值类型。需设置值域范围,支持枚举区间设置。选择枚举值的校验示例:对比3、6、9,生成的校验SQL为x in (3, 6, 9)

        • 日期:用于对日期有效性进行验证,需要确保校验字段为日期类型(date)。

        • 时间戳:用于对时间戳有效性进行验证,需要确保校验字段为时间戳类型(timestamp)。

        • 自定义:用于对多种格式进行校验,同时支持使用函数,填写的内容会直接下发到数据源执行。

          需设置值域范围,支持枚举区间设置。

          • 选择枚举值的校验示例:对比3、6、9生成的校验SQL为x in (3, 6, 9)

          • 选择区间设置的校验示例:值域范围为最小值y1~最大值y2;假设被对比字段是x,则最后校验SQL为x >= y1 and x <= y2

            说明
            • 自定义时的字段格式,例如10和"10"在不同数据源执行可能不同。

            • 需要保证所使用函数在校验质量的数据源有效。

    • 字段长度校验

      • 字段长度:设置长度范围。支持枚举区间设置

        • 选择枚举值的校验示例:对比3、6、9生成的校验SQL为x in (3, 6, 9)

        • 选择区间设置的校验示例:值域范围为最小值y1~最大值y2;假设被对比字段是x,则最后校验SQL为x >= y1 and x <= y2

    模板类型选择为及时性-单表时间字段比较及时性-两表时间字段比较及时性-时间函数比较时,对应的参数如下所示。

    • 校验项:基于校验字段定义表达式。校验项的内置参数为${column})

    • 比较项:比较时间的表达式,内置${column}${bizdate}参数。

      • 基于比较字段定义表达式,${column}为比较项内置参数,例如:${column}、substr(${column})

      • 日期函数比较选择${bizdate},则会被识别为业务日期。

    • 时间容差:设置校验项减去比较项的值。取单位项小数点前的值,不做四舍五入。例如发货日期和下单日期需要在同一天,则校验项 - 比较项目可设置为小于1天。

  4. 单击预览SQL,可查看规则模板的SQL预览。

    说明

    在模板中,有很多配置字段都还没有填,这时候用变量形式来表示,比如${table1}、${column1}。

    image
  5. 单击确定

查看规则模板列表

配置完成即可在规则模板页面查看新建的模板。除此以外,还可以在规则模板页面执行编辑、克隆、删除等操作。系统内置模板只支持查看引用和添加质量规则操作。
image

区域

描述

筛选及搜索区

您可根据模板的名称模糊搜索,也可以根据我负责的模板类型模板来源数据源类型模板负责人进行精确筛选。

列表区

为您展示规则模板名称模板描述模板类型模板来源模板负责人更新时间数据源类型信息。同时。您可在操作列对模板执行查看引用编辑添加质量规则查看模板详情克隆转交删除操作。

  • 查看引用:可查看模板被引用的规则配置详情,您可以单击编辑前往质量规则页面编辑该规则配置。

    image
  • 编辑:系统模板不支持编辑,自定义模板支持修改,详情请参见新建规则模板

  • 添加质量规则:可根据该模板快捷添加质量规则,详情请参见批量添加全域数据表质量规则

  • 查看模板详情:查看模板的配置详细信息。

  • 克隆:可快捷复制该模板的配置信息。

  • 转交:可转交模板的负责人。

  • 删除:引用中的模板不支持删除,需在质量规则页面删除引用了当前模板的规则后,在执行删除。

规则模板定义

规则类型

场景描述

场景举例

规则模板

一致性

用于对比不同列、不同表之间的数据或业务一致性。

常用于比较不同数据表的主键是否相同、单价乘数量是否等于总价等。

王先生在员工系统的公司职务是总监,在销售系统是主管。

  • 单列值比较

  • 等值比较

有效性

用于对数据内容填写是否符合规范进行校验。

常用于对数据的类型、范围或长度进行校验。

员工年龄-1岁,无效。

  • 单列值比较

  • 值域比较

  • 码表参照对比

及时性

用于对数据时间更新的频率和间隔进行验证。

常用于判断业务日期或操作日期是否为最新,时间间隔是否合理。

王先生午8点入职,10点才能在系统看到相关信息。

时间对比

准确性

用于校验数据的真实程度,需要和实际的数据进行对比。

常用于用户手机号验证、邮箱验证、用户标签验证。

联系方式是否是真实联系方式。

多列值比较

唯一性

用于对字段是否唯一进行校验。

唯一性用于对字段是否唯一进行校验。

员工身份证号码应该只出现一次。

  • 单列值比较

  • 字段唯一性

完整性

用于判断表或字段是否存在所有的必要数据,以此检查数据是否完整。

常用于判断字段填充率、必填或非空(填充率100%)等。

企业有1000员工,只有600人有联系方式。

单列值比较

阿里云首页 智能数据建设与治理 Dataphin 相关技术圈