基本概念:
数据资产质量:是指数仓数据资产表的质量,包含表的设计质量、开发质量、产出质量;
- 设计质量:指资产表在业务数据链路中的定位是否合理,信息覆盖与整合是否达到要求;
- 开发质量:指资产表在数据开发编码过程中,是否遵循约定的开发规范,数据加工逻辑是否正确;
- 产出质量:指资产表对应任务的产出时间是否符合预期,产出结果数据是否达到要求;
影响因素:
- 信息因素:开发人员是否了解资产表的具体需求目标,是否了解具体的业务数据链路和信息分布;
- 工具因素:平台工具是否稳定,是否有DQC能力,是否有优先级控制能力
- 流程因素:研发流程是否合理,是否有代码质量卡点,是否有数据质量卡点,是否有执行保障机制
- 人为因素:人员编码水平是否打标,流程执行是否到位,需求理解是否到位
流程设计:
流程管理:
- 需求文档落地:
数据类需求文档是数据开发前的资料收集与整理的重要产出,基于文档和业务方对齐具体数据需求,包括各种数据来源信息、加工逻辑信息、结果数据格式等等;
- 需求迭代记录:
项目类数据需求往往因进度问题,需求调整较多,为保证信息对齐,建议使用迭代开发,使用aone或语雀 记录迭代需求;
非项目类需求迭代,必须提aone需求单排期处理;
- 资产设计:
中间层资产按照中间层资产设计要求,需要在资产关联大图上标明,并给出明确的 实体&单据 定义,防止重复建设;
项目类应用层资产按需求逻辑,明确数据资产间的流转依赖关系,给出明确的数据 维度&粒度 定义,保证资产关系清晰;
非项目应用层资产按需求文档,给出明确的数据 维度&粒度 定义,保证资产关系清晰;
- 数据自测:
所有数据表交付验收前,必须进行自测,保证数据表数据量符合预期,保证数据粒度符合预期,保证指标字段取值符合预期;
可通过查询数据进行观察,后期由平台提供校验工具,方便进行数据自测;
- QA验收:
涉及业务回流的资产表,由业务QA同学负责验证数据质量;因数仓不存在测试环境,所以,可与QA同学沟通,采用uat、预发环境验证;
部分特殊情况下,可在数仓dev环境 人工写入数据进行逻辑验证;
- 业务验收:
非业务回流类资产表,如报表等,由业务同学自行验收,部分高保障报表(如高管看板)可引入数据质量管理团队相关同学进行验收;
因统计指标等数据逻辑加工复杂,业务同学发现问题周期较长,可与业务同学约定部分验证case,通过后可先上线,再迭代;
- 任务发布:
所有回流类任务发布,必须按要求注册业务风险场景( 无系统支持时 可采用文档记录),按业务产出要求配置任务优先级(如基线控制);
对于高风险场景任务,要求进行代码review ,保证代码质量;
- DQC配置:
按需进行数据质量监控规则配置,要求中间表必须配置空表检测、重复值检测;高风险应用表必须配置空表检测、重复值检测、业务逻辑检测等;
全部采用强规则控制,检测异常时中断任务并告警,防止影响下游任务;
- 资产文档更新:
中间层数据资产表上线后需要更新中间层资产文档,方便进行中间层数据资产管理;
项目类应用层数据资产表上线后,可在各自项目文档库维护,方便需求方查看项目产出数据资产情况;
非项目应用层数据资产表可不做要求,按需求交付即可;