更新时间:2024-07-04 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 表命名规范检查

    操作步骤:

    1. 参考管理应用系统和数据连接,创建需要进行检查的数据连接;
    2. 点击【规则配置】,可查看到解决方案工作台预置的表命名规范检查规则,用户可根据需要修改或新增。
    3. 添加监控对象,选择要监控的数据连接类型和连接名称。
      图2 添加监控对象
    4. 添加采集信息,对需要进行规范检查的DB、Schema进行配置,配置规则名根据需要选择解决方案工作台预置的或新增的规范标准。
      图3 添加采集信息
    5. 预览监控对象配置信息,并将该信息保存到本地,另存为配置文件application.properties。
      图4 预览监控对象配置信息
    6. 下载探源工具。
      图5 探源工具下载入口
    7. 将探源工具解压缩为jar包,并与配置文件application.properties一起放在远端服务器同一目录下。要求:该服务器为Linux操作系统,且网络上能访问到要进行质量检查的数据库。
      图6 探源工具
    8. 运行启动脚本:run_agent.sh。启动后,探源工具将会按照配置文件application.properties的规则进行数据质量检查。

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

    9. 查看检查结果。

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

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

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

    图9 附件字段检查

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

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

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

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

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

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

图10 表记录检查结果

DataArts Studio命名规范检测

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

  • 作业命名检查
    检查DataArts Studio作业是否符合项目定义的规范。
    1. 编辑作业命名规范。解决方案工作台预置了批处理作业和实时检查作业的检查规范,可点击【规则配置】根据需要修改。
    2. 新建监控对象。选择本账号下要检查的DataArts Studio实例。
      图11 添加监控对象
    3. 点击刷新按钮,查看检查结果。
      图12 查看检查结果
  • 作业节点命名检查

    检查DataArts Studio作业中的作业节点(CDM JOB、MRS Kafka等)命名是否符合项目定义的规范。同样,用户可根据需要修改解决方案工作台预置的节点命名检查规范后,添加指定的监控对象进行检查。

    图13 作业节点命名检查
  • 脚本命名检查

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

    图14 脚本命名检查
  • 环境变量命名

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

    图15 环境变量命名检查
  • 数据连接命名规则

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

    图16 数据连接命名检查

脚本规范检测

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

  • 脚本注释:对脚本的注释情况进行检查。
  • 排版规范:对脚本的排版进行检查。
  • 语句规范:对脚本的语法规则进行检查。
    图17 添加脚本检测规范
    图18 查看检查结果

DataArts Studio作业监控

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

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

  1. 作业监控规则配置
    • 作业运行时间波动范围:某个作业相对于历史平均运行时间的上下波动范围值。
    • 节点运行时间波动范围:作业的每个节点的相对于历史平均运行时间的上下波动范围值。
  2. 创建监控对象:选择对应的Region、IAM项目、DataArts studio实例、DataArts studio空间
    图19 创建监控对象
  3. 添加作业监控
    图20 添加作业监控
  4. 查看检查结果
    • 平均运行时间:该作业历史30天内执行的平均时间(中间的虚线)。
    • 最大波动执行时间:根据波动范围所求的,相对与平均值最大波动时间(最上方的虚线)。
    • 最小波动执行时间: 根据波动范围所求的,相对与平均值最小波动时间(最下方的虚线)

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

    图21 DataArts Studio作业监控

相关文档