数据对比节点

DataWorks的数据对比节点可实现对不同表之间的数据进行多种方式的对比,并可在工作流中使用。本文为您介绍使用数据对比节点进行任务开发的主要流程。

节点介绍

数据对比节点不仅仅是数据集成使用,支持表与表之间的对比。同时还支持进行自定义对比范围以及自定义对比的指标,从而实现更多方面的数据对比。

条件限制

仅支持Serverless资源组,使用Serverles资源组可参见:资源组管理

操作步骤

步骤一:新建数据对比节点

  1. 进入数据开发页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

  2. 单击image图标,选择新建节点 > 数据质量 > 数据对比

    根据界面指引,输入节点的路径、名称等信息。

步骤二:配置数据对比节点

配置对比表信息

数据对比节点只需通过简单配置对比表信息,即可对不同数据源的表数据进行对比,配置详情可参见以下表格:

参数

说明

资源组

下拉选择已有资源组。

任务资源占用

调整数据对比节点运行的资源占用量。

数据源类型

选择需要进行对比的来源表和目标表的数据源类型。

数据源名称

选择需要进行对比的来源表和目标表的数据源。

连通性

配置完成后,单击测试查看数据源是否与资源组连通。

表名

下拉选择需要进行来源表和目标表。

Where筛选

对需要进行对比的来源表和目标表进行过滤。

切分键

为来源表配置切分键,以将数据表中某一列作为切分键,建议使用主键或有索引的列作为切分键。

配置对比规则

对比规则可以进行指标对比全文对比,从而实现对来源于目标按照不同的对比规则进行对比。

指标对比

  • 表行数对比

    指标对比支持表级别的对比,可以对表行数进行对比。当对比结果差异率小于差异阈值时,视为成功。

    说明

    误差阈值支持百分比绝对值以及是否一致的判断方式。

  • 字段级别对比

    字段级别对比,默认选择同名字段对比,若来源表与目标表的字段名不同时,可通过单击添加对比字段按钮,手动选择来源字段和目标字段形成字段间的对比。

    • 来源字段:选择需要对比的来源表字段。

    • 目标字段:选择需要对比的目标表字段。

    • 对比指标:对比指标包括MAXAVGMIN以及SUM四种常见指标的对比。

      • 一对来源表字段和目标表字段可配置多个对比指标。

      • 多个对比指标可配置的误差阈值与忽略情况均可不同。

    • 误差阈值:来源表与目标表对比时产生的差异率将与配置的差异率进行比较,若对比结果差异率小于差异阈值时,视为成功,可以按照百分比绝对值以及是否一致三种阈值进行比较。

      说明
      • = |来源表指标值-目标表指标值|

      • = (|来源表指标值-目标表指标值|)/ 来源表指标值 x 100%

    • 忽略

      • 当字段类型为INT时,可以忽略空值与0值之间的差异。

      • 当字段类型为VARCHARSTRING时,可以忽略空值与0值之间的差异。

      • 当字段类型为DECIMALDECIMAL时,可对浮点精度以及空值与0值差异进行处理。

    • 操作:可对多余的对比字段或无需对比的字段从字段对比中删除。

  • 自定义对比

    可通过添加自定义SQL对比指标,对来源表和目标表进行对比。具体操作如下:

    1. 单击添加自定义SQL对比指标按钮,添加需要的对比的指标,指标名称可手动修改进行重命名。

      image

    2. 按需求对误差阈值进行调整,支持配置百分比绝对值以及是否一致

    3. 配置完成误差阈值后,可单击自定义SQL列的配置,对来源端和目标端的表进行SQL配置,以自定义计算指标。

    4. 配置完成后,单击确认,即可完成自定义对比的配置。

全文对比

  1. 在将对比方式配置成全文对比时,可通过调整全文对比方式来实现不同的对比方式。

    • 目标数据包含来源数据:只要来源的每行数据都在目标内即认为对比成功;此时目标内数据可能多于来源。

    • 逐行对比:逐行比较来源和去向行数以及内容的差异。

      配置逐行对比时,需配置相应的误差阈值,支持配置百分比绝对值以及是否一致

      说明
      • = |来源表指标值-目标表指标值|

      • = (|来源表指标值-目标表指标值|)/ 来源表指标值 x 100%

  2. 完成全文对比方式配置后,即可对需要对比的字段进行选择配置,此处会默认将同名字段进行对比,若需对不同名字段进行比较,则需手动单击添加对比字段,并选择来源字段与目标字段,可参考以下内容

    • 来源字段:选择需要对比的来源表字段。

    • 目标字段:选择需要对比的目标表字段。

    • 对比主键:全文对比时需要基于主键来对比其余内容是否相同。

    • 忽略

      • 当字段类型为INT时,可对空值与0值之间的差异进行忽略。

      • 当字段类型为VARCHARSTRING时,可对空值与0值之间的差异进行忽略。

      • 当字段类型为DECIMALDECIMAL时,可对浮点精度以及空值与0值差异进行处理。

    • 操作:可对多余的对比字段或无需对比的字段从字段对比中删除

  3. 全文对比的结果需进行存储,以便在对比结束后查看具体数据比对详情,可通过配置相应数据源来存储全文对比的结果。

    • 数据源类型:仅支持MaxCompute数据源。

    • 数据源名称:下拉选择该工作空间内绑定的MaxCompute数据源。

    • 连通性:需保证选中的MaxCompute数据源与配置对比表信息时的资源组连通性正常。

    • 存储表:单击生成存储表,生成一张data_comparison_xxxxxx样式的存储表。

    • Tunnel Quota:下拉选择MaxCompute的数据传输资源,具体请购买与使用独享数据传输服务资源组

调度配置

完成规则配置后,即可对数据对比节点进行调度配置,配置详情可参见:任务调度配置

步骤三:发布与运维

发布数据对比节点

节点任务配置完成后,需执行提交发布操作,提交发布后节点将根据调度配置内容进行周期性运行。

  1. 单击工具栏中的image图标,保存节点。

  2. 单击工具栏中的image图标,提交节点任务。

    提交时需在提交对话框中输入变更描述,并根据需要选择是否在节点提交后执行代码评审及冒烟测试。

    说明
    • 您需设置节点的重跑属性依赖的上游节点,才可提交节点。

    • 代码评审可对任务的代码质量进行把控,防止由于任务代码有误,未经审核直接发布上线后出现任务报错。如进行代码评审,则提交的节点代码必须通过评审人员的审核才可发布,详情请参见代码评审

    • 为保障调度节点任务执行符合预期,建议您在发布前对任务进行冒烟测试,详情请参见冒烟测试

如您使用的是标准模式的工作空间,任务提交成功后,还需单击节点编辑页面右上方的发布,将该任务发布至生产环境执行,操作请参见发布任务

运维数据对比节点

数据对比节点发布成功后,可在运维中心内对该节点进行运维操作,详情可参见:运维中心

查看数据校验报告

数据校验报告可在任务运行日志中查看,可通过以下方式进行查看:

  1. 运维中心查看:

    1. 单击image按钮,选择全部产品 > 数据开发与运维 > 运维中心(工作流)进入运维中心。

    2. 在运维中心左侧导航栏单击进入周期任务运维 > 周期实例查看数据对比节点生成实例,并右键查看日志。

    3. 在日志页面单击数据校验页签即可查看。

  2. 运行日志查看:

    若仅在数据开发页面对数据对比节点运行,可在数据开发页面单击如下图链接,将跳转至数据校验报告页面。

    image