更新时间:2025-08-12 GMT+08:00
分享

数据实施质量检查

实施质量检查包含数据实例实施过程中的工具,旨在帮助客户在进行数据治理过程中,能够更好地监控实施过程中的质量,包含数据模型设计、源系统和SDI层数据一致性检测、数据平台检测、脚本规范检测、DataArts Studio命名规范检测和作业监控。

表1 实施质量检查功能介绍

功能模块

子模块

说明

数据模型设计检测

  • 表命名规范检查
  • 附加字段规范检查

数据治理时,数据会分层建设,数据集成方式(增量,全量)、集成周期都不一样,按照这些对每张表按其统一规范命名。扩展字段是为了对其每条数据做更好的运维统计,例如加了版本批次号、经过哪个ETL脚本而来的、数据入仓更新时间、软删除等等。

源系统和SDI层数据一致性检测

  • 表数量对比
  • 表内容对比
  • 源系统表结构监控

在数据集成时,最重要的是数据不丢失、不失真、不乱码、源表数据结构不变化,否则会造成数据指标计算不准确。而数据集成服务的网络往往非常复杂,依赖于源系统和网络,因此在监控检测源系统和数据湖的SDI层的数据一致性,可以快速给问题定界定位。

DGC命名规范检测

  • 作业命名
  • 节点命名
  • 脚本命名
  • 环境变量命名
  • 数据连接命名

DGC是数据治理中心,尤其是数据开发模块,数据的ETL脚本的逻辑和任务调度编排均在DGC上。因此,一个规范统一的命名规范显得尤为重要,统一而规整,加强数据治理的专业性。

脚本规范检测

  • 脚本注释
  • 排版规范
  • 语句规范

脚本承载着数据ETL的逻辑,定期运行。增强脚本的可读性,有助于数据开发阶段的人员定位问题、交流以及后期的运维。

DGC作业监控

  • 作业运行时间监控
  • 节点运行时间监控

作业运行时长的影响因素包含计算资源的影响和处理数据的影响,因此,当作业运行时间波动很大时,表明计算资源或者表数据有问题。例如,临时表没有清理,表数据发散等等,到最后都会造成重大问题。本功能模块可以在这些bug产生较小的影响情况下发现并及时修改。

数据模型设计

数据治理过程中,每层的表命名都有其规范,在数据集成增量集成过程中也会多增加些表字段如ext_delete_flag (删除)、ext_updated_at (数据入仓时间)。实施人员可以通过运行此功能,检测到项目中不满足要求的表,即时整改。

  • 表命名规范检查

    表命名规范检查功能用于检查目的端(DWS、MRS-HUDI等)数据库中的表命名是否符合项目中的规范要求。项目中大多表是根据数据模型的层进行开头命名的,如:

    • 贴源层命名:ods/sdi_业务名
    • 维表命名:dim_{domain/subject}
    • 主题层 dwi_{domain/suject}_(business_info)_[suffix] 、domain/suject:多为业务主题域
    • 明细层:dwr_{domain/suject}_(business_info)_[suffix]
    • 汇总层:dws_{domain/suject}_(business_info)_[suffix]
    • 集市层:dm_{domain/suject}_(business_info)_[suffix]

    操作步骤:

    1. 参考新建数据连接,创建需要进行检查的数据连接;
    2. 点击【规则配置】,可查看到解决方案工作台预置的表命名规范检查规则,用户可根据需要修改或新增。
      • 规范名称:自定义名称;
      • 规范定义:说明该规范的规则;
      • 规范标准:把对应的规范定义转换成规则供后期检查校验,[]为可选值,{}为枚举值,()为自定义值;
      • 规范样例:对规范定义给出详细的说明和样例;
        图1 规则配置
    3. 添加监控对象,选择要监控的数据连接类型和连接名称。
      图2 添加监控对象
    4. 添加采集信息,对需要进行规范检查的DB、Schema进行配置,配置规则名根据需要选择解决方案工作台预置的或新增的规范标准。
      图3 添加采集信息
    5. 支持下载监控对象配置信息到本地(规则文件.xlsx),作为后续数据实施质量检查的配置文件。
      图4 预览监控对象配置信息

      下载的规则文件里,需要在数据连接页填充上连接的用户名和密码,并且保存。

    6. 下载探源工具。
      图5 探源工具下载入口
    7. 将探源工具解压缩为jar包,并与配置文件(规则文件.xlsx)一起放在远端服务器同一目录下。要求:该服务器为Linux操作系统,且网络上能访问到要进行质量检查的数据库。
      图6 探源工具
    8. 运行启动脚本:run_agent.sh。启动后,探源工具将会按照配置文件(规则文件.xlsx)的规则进行数据质量检查。

      探源工具通过查询指定数据库的系统表获取相关信息,对数据库压力较小,但为了保证不影响业务,建议将探源工具的定时任务设置在凌晨等压力较小的时间段进行。

    9. 查看检查结果。

      如果运行探源工具的服务器可访问公网,则检查结果可在线上报,点击界面右侧的刷新按钮即可查看;如果运行探源工具的服务器仅能在内网运行,可通过【导入】的方式将探源工具获取的结果进行导入。

      图7 探源工具运行结果
      图8 导入检查结果
  • 附件字段检查

    与表命名规范检查一样,可以添加需要监控的对象后配置需要采集信息的数据库、表,用户可根据需要修改/新增附加字段规范。同样,本功能模块需要运行探源工具获取检查结果。

    图9 附件字段检查

源系统和SDI层数据一致性检测

在数据治理过程中,从源数据库实时/定时抽取指定表的数据到目的数据库中的指定位置时,会存在数据抽取问题:

  1. 数据记录条数丢失(源表和目标表数据记录条数不一致),因此需要此功能来定时检查数据抽取是否一致
  2. 数据库表字段丢失(源表与目的表表字段不同),原因是在项目的进行过程中,存在源系统表字段的增删改,导致数据实时同步的时候出现异常。
  3. 数据库表内容不一致(源与目的的表内容不一致),在数据的抽取过程中由于源表和目的表存在内容的格式问题,导致数据转码,造成源端与目的端数据不同。

本模块提供源系统和SDI层数据一致性检测,旨在通过以下功能解决上述问题:

  • 表记录:对比源端与目的端表的记录条数是否一致,如果源目的数据记录条数在一个容忍范围内,则认为是一致的。
  • 表字段:在数据迁移过程中,由于业务的变化,可能存在源端数据库部分表的字段会存在添加和删除的情况。通过配置每个表的时间戳与容忍记录数来判断表字段一致性(如果没有时间戳则查询所有的记录数)。

本模块的操作步骤同数据模型设计

图10 表记录检查结果

DataArts Studio命名规范检测

DGC是数据治理中心,尤其是数据开发模块,数据的ETL脚本的逻辑和任务调度编排均在DGC上。因此,一个规范统一的命名规范显得尤为重要,统一而规整,数据治理的专业性强。

  • 作业命名检查
    检查DataArts Studio作业是否符合项目定义的规范。
    1. 配置作业命名规范集。解决方案工作台预置了批处理作业和实时检查作业的检查规范,点击【配置规范集】->【添加规范集】。
      图11 添加规范集
    2. 选择【作业命名】,填写规范集名称,根据需要配置规范集。
      图12 配置规范
    3. 新建监控对象。选择本账号下要检查的DataArts Studio实例。
      图13 添加监控对象
    4. 点击执行按钮,完成后刷新,查看检查结果。
      图14 查看检查结果
  • 节点命名检查

    检查DataArts Studio作业中的作业节点(CDM JOB、MRS Kafka等)命名是否符合项目定义的规范。

    同样,用户可根据需要修改解决方案工作台预置的节点命名检查规范后,添加指定的监控对象进行检查。

    1. 配置作业命名规范集。点击【配置规范集】->【添加规范集】。
      图15 添加规范集
    2. 选择【节点命名】,填写规范集名称,根据需要配置规范集。
      图16 配置规范
    3. 新建监控对象。选择本账号下要检查的DataArts Studio实例。
      图17 添加监控对象
    4. 点击执行按钮,完成后刷新,查看检查结果。
      图18 查看检查结果
  • 脚本命名检查

    检查DataArts Studio脚本命名是否符合项目定义的规范。

    详细操作与作业命名检查、节点命名检查一致,请参考作业命名检查

  • 环境变量命名

    检查DataArts Studio环境变量命名是否符合项目定义的规范。主要用于对脚本中的环境变量进行检查。

    详细操作与作业命名检查、节点命名检查一致,请参考作业命名检查

  • 数据连接命名规则

    检查DataArts Studio数据连接(Oracle、MRS Hudi、Hive、DWS等)命名是否符合项目定义的规范。

    详细操作与作业命名检查、节点命名检查一致,请参考作业命名检查

脚本规范检测

DataArts Studio中的脚本承载着数据ETL的逻辑,定期运行。增强脚本的可读性,有助于数据开发阶段的人员定位问题、交流以及后期的运维。当前仅支持DWS。

  1. 配置规范集。点击【配置规范集】->【添加规范集】。
    图19 添加脚本检测规范
  2. 填写规范集名称,在以下三个维度编辑规范标准,完成后点击【确定】
    • 脚本注释:对脚本的注释情况进行检查。
    • 排版规范:对脚本的排版进行检查。
    • 语句规范:对脚本的语法规则进行检查。
    图20 添加规范集
  3. 添加监控对象,选择本账号下要检查的DataArts Studio实例。
    图21 添加监控对象
  4. 点击【执行】进行检测,完成后,点击【下载检测结果】进行下载结果。
    图22 执行检测并下载结果

DataArts Studio作业监控

作业运行时长的影响因素包含计算资源的影响和处理数据的影响,因此,当作业运行时间波动很大时,表明计算资源或者表数据有问题。例如,临时表没有清理,表数据发散等等,到最后都会造成重大问题。本功能模块的作可以在这些bug产生较小的影响情况下发现并及时修改。

一般先查看作业的运行时间,如果时间有异常,再查看作业的哪些节点是否有异常。

  1. 作业监控规则配置,点击监控规则的【编辑】按钮进行编辑。
    图23 作业监控规则
    • 作业运行时间波动范围:某个作业相对于历史平均运行时间的上下波动范围值。
    • 节点运行时间波动范围:作业的每个节点的相对于历史平均运行时间的上下波动范围值。
  2. 创建监控对象:选择对应的Region、IAM项目、DataArts studio实例、DataArts studio空间
    图24 创建监控对象
  3. 添加作业监控,点击对应监控对象的【添加作业监控】按钮,在弹窗中自定义作业监控名,选择job作业。
    图25 添加作业监控
  4. 查看检查结果,展开监控对象,找到要查看的作业对象,点击【查看】
    图26 查看检查结果
    • 平均运行时间:该作业历史30天内执行的平均时间(中间的虚线)。
    • 最大波动执行时间:根据波动范围所求的,相对与平均值最大波动时间(最上方的虚线)。
    • 最小波动执行时间: 根据波动范围所求的,相对与平均值最小波动时间(最下方的虚线)。

    在最大和最小波动时间内的作业,属于根据项目实际情况可接受的波动范围。超过波动则认为该作业有异常,需要通知相关人员进行定位。

    图27 DataArts Studio作业监控

相关文档