互联网是一个建立在数据之上的服务行业,数据质量的好坏直接影响到企业的生存能力和竞争力。如果数据质量不佳,便容易给企业带来以下危害:
干扰运营分析,影响决策;
影响算法模型质量,导致服务不够智能化;
耗费人力,分析师、算法工程师、数据科学家因为数据质量问题推倒工作重来;
接下来将介绍数据质量的评估维度,以及基于猛犸大数据平台的提高数据质量的方法,并讲解猛犸大数据平台数据质量的具体功能。
一、数据质量评估
关于如何评估数据质量,业界有很多标准。这里主要从以下四个方面去评估:
完整性
数据的记录和信息是否完整。如字段信息是否完整、有没有因上游系统出问题而导致的数据丢失、有没有出现正常100w的数据今天却没有数据的情况等。
准确性
数据的记录是否正确。简单的如是否出现常识性错误(年龄大于200岁,收货金额为负值等),电话号码、邮箱、ip等是否符合规范,枚举值是否正确等等。复杂一点的如基于维度的统计指标有没有问题,如平均值、总和、按照枚举值group by数据分布有没有异常等。
及时性
数据产出是否及时。数仓团队加工数据需要指定几点前必须产出并交给下游业务和相关分析人员。一般决策分析师需要分析前一日的数据(T+1),如果数据隔几天才能看到,就会失去分析数据的价值。而某些业务甚至有小时级别以及实时的需求,及时性要求也就更高了。
一致性
企业数仓可能存在分支,同一份数据在不同地方需要保持一致;对于一些表的值可能参照另外一些表需要保持一致;数仓设计中需要保证一致性维度;对于表的字段类型以及值也需要保持一致(如地点写上海还是上海市,性别是f、m还是0、1标示等等)。
怎么提升数据质量
基于猛犸大数据平台,数据质量提升大体可分三步进行:
Step 1:事前定义数据的监控规则
数据质量需求
下游主动发现问题、数据产品收集、监控事后问题优化
提炼规则
梳理对应指标、确定对象(多表、单表、字段)、通过影响程度确定资产等级、质量规则制定
Step 2:事中监控和控制数据生产过程
质量监控和工作流无缝对接;
支持定时调度;
强弱规则控