一、DataWorks 数据测试的核心能力
DataWorks 数据质量(DQC)是一个一站式数据监控和保障平台,支持在数据生产链路中主动发现并拦截"脏数据",避免问题数据向下游扩散 。
核心概念体系
表格
复制
| 概念 | 说明 | 作用 |
|---|---|---|
| 规则模板 | 定义"如何检查"数据 | 内置模板(表行数、字段唯一值等)+ 自定义 SQL 模板 |
| 监控规则 | 规则模板的具体应用 | 为某张表/字段配置具体阈值 |
| 质量监控 | 执行计划 | 将规则与调度任务关联,任务成功后自动触发校验 |
| 强/弱规则 | 规则重要程度 | 强规则校验失败可阻塞下游任务,弱规则仅告警 |
二、数据测试的 6 大维度
DataWorks 支持从以下维度配置监控规则:
-
完整性:检查字段是否为空、表是否有数据
-
唯一性:主键唯一值校验、重复数据检测
-
及时性:数据是否按时产出
-
有效性:数据格式、范围是否符合预期(如日期格式、数值范围)
-
准确性:业务逻辑正确性校验
-
一致性:跨表数据一致性检查
三、实战:配置数据质量测试(详细步骤)
方式一:单表精细化配置(推荐用于核心表)
步骤 1:进入数据质量模块
-
登录 DataWorks 控制台 → 选择工作空间 → 进入数据质量
步骤 2:创建质量监控
-
选择待监控的表(支持 MaxCompute、Hologres、EMR 等)
-
设置监控数据范围:
-
非分区表:默认全表监控
-
分区表:配置分区表达式(如
ds=${yyyymmdd})
-
步骤 3:配置监控规则 支持三种方式创建规则:
表格
复制
| 方式 | 适用场景 | 示例 |
|---|---|---|
| 系统模板 | 通用检查(表行数、字段空值率等) | 表行数 > 0、字段唯一值个数 = 表行数 |
| 自定义模板 | 复用性业务规则 | 创建"电商订单金额范围检查"模板 |
| 自定义 SQL | 复杂业务逻辑 | SELECT COUNT(*) FROM table WHERE amount < 0 |
关键参数配置:
-
比较方式:手动设置阈值 / 智能动态阈值(系统自动判断合理范围)
-
监控阈值:
-
正常阈值:数据符合预期
-
橙色阈值:数据异常但不影响业务
-
红色阈值:数据严重异常
-
-
重要程度:
-
强规则:红色异常时阻塞下游任务执行
-
弱规则:红色异常时仅告警,不阻塞任务
-
-
保留问题数据:自动创建表存储校验失败的数据(仅 MaxCompute/Hologres)
步骤 4:关联调度与告警
-
将质量监控与数据开发节点关联,节点运行成功后自动触发校验
-
配置告警订阅:邮件、短信、钉钉、飞书、企业微信、电话、Webhook
方式二:批量配置(推荐用于大量表)
适用于需要为多张表配置相同规则的场景:
-
选择规则模板(系统内置或自定义)
-
批量添加表/字段:按数据库、表名前缀等条件筛选
-
新建/关联质量监控:自动为每张表创建监控任务
四、在数据开发流程中嵌入测试
数据质量监控节点(DataStudio 中配置)
在 DataStudio 中创建数据质量监控节点,实现代码与质量规则版本统一管理 :
Python
复制
# 典型工作流结构
1. 数据同步节点(ODS层)
↓
2. 数据质量监控节点(检查ODS表)
↓(强规则阻塞)
3. 数据清洗节点(DWD层)
↓
4. 数据质量监控节点(检查DWD表)
↓
5. 汇总计算节点(DWS/ADS层)
↓
6. 数据质量监控节点(检查ADS表)
配置要点:
-
每个节点监控一张表,可配置多个规则
-
支持导入已有规则,快速克隆配置
-
发布节点时,质量规则同步发布到生产环境
五、企业级自动化测试方案
1. 分层测试策略
表格
复制
| 层级 | 测试重点 | DataWorks 实现方式 |
|---|---|---|
| ODS层 | 数据完整性、及时性 | 表行数非0监控、主键唯一性 |
| DWD层 | 清洗逻辑正确性 | 自定义 SQL 检查异常值、业务规则 |
| DWS层 | 汇总准确性 | 跨表一致性检查、波动率监控 |
| ADS层 | 业务指标合理性 | 数值范围、环比/同比波动 |
2. 智能动态阈值
对于波动型指标(如日活用户数),使用智能动态阈值功能:
-
系统自动学习历史数据规律
-
自动判断合理波动范围
-
发现异常即时告警或阻塞
3. CI/CD 集成
结合 DataWorks 的代码评审和发布流程 :
-
开发环境配置质量规则并测试
-
提交代码评审(Code Review)
-
审批通过后发布到生产环境
-
生产环境自动执行质量校验
六、查看测试结果与运维
质量大盘(Dashboard)
-
查看工作空间整体数据质量指标
-
TOP 质量问题表统计
-
规则覆盖率分析
运行记录
-
按表名或节点名搜索历史校验结果
-
查看详细日志和失败原因
-
查看问题数据样本(如配置了保留问题数据)
质量报告
-
创建定时报告模板
-
自动发送给相关责任人
-
支持技术报告(规则执行情况)和业务报告(数据质量评分)
七、最佳实践建议
-
核心表强规则:对关键业务表配置强规则,防止脏数据扩散
-
分层监控:每个数据加工环节都配置质量检查点
-
告警分级:红色异常立即处理,橙色异常定期复盘
-
问题数据闭环:启用"保留问题数据"功能,便于快速定位问题
-
模板复用:将常用业务规则固化为自定义模板,提升配置效率
总结:DataWorks 的数据测试能力覆盖了从简单的空值检查到复杂的业务逻辑验证,通过与调度系统的深度集成,可以实现自动化、强阻塞的数据质量保障体系,显著降低数据问题对业务的影响。

7865

被折叠的 条评论
为什么被折叠?



