【产品规划】实现一个智能化的数据清洗工具(系列二)

数据清洗是数据分析过程中最基础的工作,也是最累、最繁琐的部分,不像数据挖掘、数据分析看起来那么光鲜,做起来枯燥乏味。当然,这也与数据清洗工具的自动化程度不高,需要人肉去完成大量的ETL开发工作有极大的关系。为了改善这种局面,可以让ETL工程师减少重复性的编码工作,将更多的精力投入到数据分析当中,更加有效地发挥人的聪明才智,提升数据价值。下面是加入了“智能化”元素的数据清洗流程图。
【产品规划】实现一个智能化的数据清洗工具(系列二)_第1张图片

  1. 构建数据质量探查规则。传统的数据质量分析(或探查)是需要人工分析数据字典、数据内容后,设计并配置相关的质量分析规则,包括完整性、唯一性、一致性、有效性、准确性等几个方面。这个过程费时费力,因此一般清洗前的数据质量分析都是手工完成的,由工程师根据经验编写SQL脚本完成分析。上面流程中的“生成数据质量探查规则”,可以根据源库的数据结构、数据字典、数据标准等,利用挖掘算法(语义分析、聚类算法等),识别出业务主键、业务关键字段、字段含义等,匹配内置的质量检查规则模板,自动生成所有表的质量探查规则。经人工检查完善后配置到系统中,形成数据质量探查任务;
  2. 数据质量报告。执行数据质量探查任务后生成报告,报告包括两方面的内容,一是对规则的满足情况,比如,某张表的某个字段有N条记录违反了完整性约束等;二是对字段数据的值域分析,用常见的统计算法描述,包括最大值、最小值、平均值、空值等。
  3. 构建数据清洗任务。系统可以根据数据质量规则与数据质量报告,自动构建出合适的清洗任务脚本和清洗流程,除了常见的去重、去空之外,随着对行业了解的不断加深,也可以将诸如编码自动补齐等规则加入,比如,企业异常名录中缺少统一信用代码,可以自动从法人表中获取并补齐。
  4. 数据质量标签。数据清洗不能把所有问题数据都进行修正,对于不能修正的问题数据,将以标签的形式记录下来,比如,A字段存在空值、格式不正确等问题,一方面是为了记录问题,另一方面也就为了支撑不同应用场景下的数据分析,根据需求对问题数据进行过滤或其它处理。

上述几个步骤当中,最关键的就是构建质量规则,需要通过对元数据、数据字典等内容的分析挖掘,将字段与预置的规则进行自动匹配,识别的效果除了算法的性能之外,还与字段含义、规则模板等的沉淀有关系,后者往往决定了生成规则的实用性。

你可能感兴趣的:(数据治理,产品规划)