数据质量最佳实践
数据质量是数据分析结论有效性和准确性的基础。本文为您介绍数据质量保障教程的业务场景以及如何衡量数据质量的高低。
前提条件
在开始本教程前,请您首先完成搭建互联网在线运行分析平台教程,详情请参见业务场景与开发流程。
业务场景
要保证业务数据质量,首先您需要明确数据的消费场景和加工链路。
本教程使用的数据来源于某网站上的HTTP访问日志。基于这份网站日志,您可以统计并展现网站的浏览次数(PV)和独立访客(UV),并能够按照用户的终端类型(如Android、iPad、iPhone、PC等)和地域分别统计。
在整体数据链路的处理过程中,为保证最终产出数据的质量,您需要对数据仓库ODS、CDM和ADS层的数据分别进行监控。数据仓库分层的定义请参见数仓分层。本教程基于搭建互联网在线运行分析平台教程,ods_user_trace_log、dw_user_trace_log、rpt_user_trace_log分别代表数据仓库的ODS、CDM和ADS层。
数据质量的评估
数据质量可以从完整性、准确性、一致性和及时性四个角度进行评估,详情请参见数据质量评估标准。在本教程中,您将学会通过数据质量风险监控,保证数据的完整性、准确性、一致性;通过数据及时性监控,保证数据的及时性。
完整性
完整性是指数据的记录和信息是否完整、不缺失。数据的缺失包括数据记录的缺失(表行数异常)和记录中某字段信息的缺失(字段出现空值)。在本教程中,您需要重点关注数据的生产环节(MaxCompute外部表引用的表格存储数据)和加工环节(数据仓库CDM及ADS层)中表行数是否大于0、表行数波动是否正常以及字段是否出现空值或重复的情况。
准确性
准确性是指数据记录中信息和数据是否准确、不存在错误或异常。例如,在本教程中,如果UV、PV数值小于0,则明显是错误数据。
一致性
对于不同的业务流程和节点,同一份数据必须保持一致性。例如表
province
字段中如果有浙江、ZJ两种表述,在您group by province时会出现两条记录。及时性
及时性主要体现在最终ADS层的数据可以及时产出。为保证及时性,您需要确保整条数据加工链路上的每个环节都可以及时产出数据。本教程将利用DataWorks智能监控功能保证数据加工每个环节的及时性。