数据质量入门

最近更新时间:2025-04-24 16:15:53

我的收藏
说明:
本文将通过一个完整的配置过程,带您快速了解数据质量模块的核心能力。

准备工作

1. 购买开通 WeData 产品,详情请参见 WeData 购买指南
2. 在 WeData 控制台,创建项目并绑定 EMR、DLC、TCHouse-P、TCHouse-D、Doris等数据源(本文以 EMR 为例),详情请参见 WeData 项目管理
3. 在数据开发模块,创建一个数据库和数据表(本文以 EMR 为例),详情请参见 WeData 数据管理
4. 在数据开发模块,创建一个数据开发任务,详情请参见 WeData 任务开发介绍
说明:
请在创建项目时,购买并绑定 EMR 引擎(绑定时请启用元数据扫描),并绑定调度资源。

数据表准备

1. 在 emr-hive 数据源中创建数据库:emall,并创建数据表:dq_test 。
2. 在表中添加以下字段:
字段名
中文名
列类型
是否分区
pt_date
分区字段
string
id
id
int
name
姓名
string
gender
性别
int
操作截图:




数据开发任务准备

1. 数据开发 > 编排空间界面,单击创建工作流
2. 在工作流中创建任务节点,任务类型:Hive SQL。
Hive SQL 如下:
INSERT INTO TABLE emall.dq_test PARTITION (pt_date = '2024-05-01')
VALUES ('1', '张三', '1');

配置数据质量监控任务

配置流程





创建质量监控任务

进入数据质量 > 数据监控 > EMR 界面,单击新增监控,开始新增一个质量监控。


步骤一:配置监控信息

监控对象
进入新建监控界面,依次选择监控对象的数据源类型,数据源,数据库,监控表。

基础信息
填入监控名称,默认监控名称为监控表名_创建监控时间戳
说明:
建议填入易于辨别的监控名称,方便理解监控任务实例中检测结果的业务意义。
例如:监控名称为“华北地区销量表每月例行检测”时,运维管理中将展示“华北地区销量表每月例行检测”每次运行是检测成功或检测失败。
同时,为了方便解读,您也可以加入业务描述。

执行策略

元素
说明
执行引擎
此处可选择 Hive 和 Spark,与购买的 EMR 资源有关,一般情况下 Hive 表可直接选择 Hive 引擎。
计算资源
选择 default
此处可选择 EMR 集群中的资源组,一般情况下可直接选择 default。
执行资源
此处的执行资源即项目已经绑定的调度资源组。
执行方式
此处可选择关联生产调度离线周期检测

关联生产调度:将质量任务与生产任务(数据同步任务或者数据开发任务)进行关联,当生产任务运行结束后,插入运行质量监控任务。如发现异常,会第一时间通知处理人进行处理,并根据监控下规则级别阻塞下游任务执行避免问题数据扩展:
说明:
同一个质量检测任务可以关联多个生产任务;同一个生产任务也可以关联多个质量检测任务。
离线周期检测:即独立调度。对选定的数据库表、核心业务字段按天、按小时、按分钟等自定义频率设置周期性质量检测。质量任务会按设定的周期定时执行,如发现异常,会第一时间通知订阅人。
关联任务
此处可选择需要关联的生产任务所属的模块,开发空间数据集成,最多只能关联5个任务
开发空间:展示开发空间中的目录树结构,支持搜索文件夹或任务名称
数据集成:展示数据集成中的任务列表
单击下一步后,监控创建完毕,来到关联规则界面。

步骤二:关联规则

关联规则展示在同一张表下,未关联其他监控任务的规则。支持对质量规则进行编辑或关联(可选)。
注意:
未关联监控的质量规则将不会执行。

若已有规则无法满足业务需要,单击下一步,可进入规则管理界面。

步骤三:规则管理

规则管理展示已关联此监控的所有规则,之前关联的所有质量规则将会在此处回显。

新建规则
单击规则列表上的新建规则,弹出新建规则弹窗,支持选择 1. 系统模板 2. 自定义模板 3. 自定义SQL 进行质量校验。
此处支持一次性新增多个规则,新增的规则将会直接关联该监控。

解释说明:
元素
说明
规则类型
可选择系统模板、自定义模板、自定义 SQL(如果从左侧树状图中选择规则模板,此处将默认展示所选模板参数):
系统模板:WeData 已经内置了56个规则模板,可免费使用。各个模板的详细介绍说明可参考系统模板说明
自定义模板:可在规则模板菜单添加适用自己业务的规则,方便复用,详细操作指导可参考自定义模板说明
自定义 SQL:可直接填写 SQL 语句作为检测规则,详细操作指导可参考新增质量规则
监控对象
监控对象可分为:表级和字段级(如果从左侧树状图中选择规则模板,此处将默认展示所选模板参数):
表级,可对表行数,表大小(仅支持 Hive 表)进行监控。
字段级,可对字段是否为空,是否重复,平均值、最大值、最小值等进行监控。
选择模板
WeData 已经内置了56个规则模板,可免费使用。各个模板的详细介绍说明可参考系统模板说明
(如果从左侧树状图中选择规则模板,此处将默认展示所选模板参数)
检测范围
可以选择全表条件扫描
全表:质量规则将对表下的全量数据进行校验
条件扫描:质量规则将只对此处填写的检测范围进行校验
例如:
pt_date='${yyyy-MM-dd-1d}'
说明:
此处一般填写分区字段,避免每次质量任务都进行全表扫描,对计算资源造成浪费。
SQL 中 ${yyyy-MM-dd-1d} 是日期变量,代表执行日期前一天,在质量任务执行时会被替换为具体的日期。
例如:当质量任务在2024 - 05 - 02 00:00:00执行时,${yyyy-MM-dd-1d} 会被替换为2024 - 05 - 01。
具体时间变量的替换逻辑可参考 时间参数说明
触发条件
比较符:选择小于。
比较值:填入1。
表行数小于1,结合检测范围填写的时间变量,即表示:当昨天没有新增数据时,触发告警。
说明:
此处填写的触发条件为异常值,即:触发告警的条件。
触发等级
选择
触发等级可分为:高、中、低。
高:当触发告警时,立即阻断下游任务执行(仅关联生产任务时有效)。
中:仅触发告警。
低:不触发告警,仅结果展示异常。
试运行
1. 选择希望试运行的规则,单击试运行。
2. 修改调度时间,并单击开始试运行,试运行结束后,您可单击点击查看运行结果
说明:
由于插入数据时,填写的数据分区为2024-05-01,此处可填写2024-05-02。

查看试运行结果
1. 进入执行实例与结果页面后,可单击左侧下拉三角形,展开规则明细。
2. 单击某一条监控的执行历史,查看历史运行结果。



批量解除关联
批量解除所选规则与该监控的关联。
注意:
未关联监控的质量规则将不会执行。
若想重新关联此规则,可在关联规则页面中进行操作。

配置订阅
当质量检测任务的运行结果符合触发条件时(即结果非预期,检测结果为失败),以何种方式发送通知,通知给谁。
进入订阅设置界面,勾选订阅方式,设置接收人,单击保存即可。

开启监控
根据监控的试运行结果,可在监控状态列开启关闭监控(监控在创建后默认开启)
说明:
只有启用状态的监控任务,才会自动运行。



查看任务执行结果

当质量任务运行结束时,如果检测结果为异常,系统会自动发送告警,并对触发等级为高的任务阻塞下游任务。
对于库表负责人和数据开发工程师需要及时排查异常,并解决问题。
1. 数据质量 > 运维管理 > 执行实例与结果页面,依次选择数据源、数据库,可查看任务的运行结果。
2. 在此页面可查看任务检测状态,并通过左侧下拉三角展开查看每条规则的结果和日志。
说明:
检测状态分为两大类:
实例执行状态:
等待运行:调度任务实例在调度侧等待运行
执行中:调度任务实例在执行中
成功:调度任务实例成功下发
失败:调度任务实例下发失败(可能原因:执行机环境影响、用户手动kill,业务异常上报)
检测状态:
正常:当前实例下的所有规则执行成功后,规则检测结果均为正常。
异常:当前实例下的所有规则只要有一条被触发即判定为异常
检测中:实例下规则正在执行
未检测:规则还未开始执行或未执行成功