宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

数据仓库-数据清洗

定义

ETL

抽取(Extract)、转换(Transform)、加载(Load

ETL的核心价值在“T”所代表的转换部分

数据清洗是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性

为什么要进行数据清洗

数据仓库中的数据是面向某一主题数据的集合,这些数据从多个业务系统中抽取而来,并且包含历史数据,因此就不可避免地出现某些数据是错误的,或者数据相互之间存在冲突的情况。这种数据被称为脏数据。

按照一定的规则处理脏数据,这个过程就是数据清洗

任务

数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是直接删除掉,还是修正之后再进行抽取。

脏数据类型

残缺的数据

这一类数据主要是一些应该有的信息缺失,如产品名称、客户名称、客户的区域信息,还包括业务系统中由于缺少外键约束所导致的主表与明细表不能 匹配等。

错误的数据

这一类错误产生的原因多是业务系统不够健全,在接收输入后没有进行合法性检查或检查不够严格,将有问题的数据直接写入后台数据库造成的,比如 用字符串存储数字、超出合法的取值范围、日期格式不正确、日期越界等。

重复的数据

源系统中相同的数据存在多份。

差异的数据

本来具有同一业务含义的数据,因为来自不同的操作型数据源,造成数据不一致。这时需要将非标准的数据转化为在一定程度上的标准化数据。

数据清洗原则

优先对数据清洗处理流程进行分析和系统化的设计,针对数据的主要问题和特征,设计一系列数据对照表和数据清洗程序库的有效组合,以便面对不断变化的、形形色色的数据清洗问题。

清洗流程

预处理

对于大的数据加载文件,特别是新的文件和数据集合,要进行预先诊断和检测,不能贸然加载。有时需要临时编写程序进行数据清洁检查

标准化处理

应用建于数据仓库内部的标准字典,对于地区名、人名、公司名、产品名、分类名以及各种编码信息进行标准化处理。

查重

应用各种数据库查询技术和手段,避免引入重复数据;

出错处理和修正

将出错的记录和数据写入到日志文件,留待进一步处理。

数据仓库-数据清洗-风君子博客