打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
9.4.2 子系统4-数据清洗系统

9.4.2  子系统4--数据清洗系统

ETL数据清洗过程通常用于修正脏数据,然而同时,当机构的生产系统捕捉到数据时还希望数据仓库能够提供该数据的准确描述。在这两个矛盾的目标之间找到恰当的平衡点是非常必要的。解决方法是设计一个能够在装载数据时更正和除去错误的ETL系统,最重要的是要具有便于使用的结构、修正方式、标准、规则和优质的清洗功能的模块,这样系统就可以自行进行文档编制。

清洗系统的目标之一是提供一个用于数据清洗的综合架构,捕捉与数据质量相关的事件,同时在数据仓库中对数据质量进行度量并最终加以控制。有些机构可能会发现这种架构实现起来很困难,但是我们深信这种架构对ETL团队来说是非常重要的,可以促使团队的工作更加严谨,可以尽可能多地整合更多的功能。如果您对ETL还不了解,感到这是一件非常困难的工作,您可能会考虑:"我最先应当关注什么?"这个问题的答案是尽可能从进行最好的数据探查分析开始入手。这项工作会帮助您了解使用潜在的脏数据或不可靠数据继续系统开发会有哪些风险,并且会帮助您确定自己的数据清洗系统需要达到什么样的复杂程度。

清洗子系统的目的是汇集多种技术提高数据质量。这一子系统的目标应当包括:

● 对数据质量问题的早期诊断和鉴别分类。

● 让源系统和集成工作提供更优质的数据。

● 具有为ETL过程中遇到的数据错误提供特定描述的功能。

● 具有能够随着时间推移捕捉所有数据质量错误和度量数据质量的框架。

● 对最终数据的质量可信度进行度量的附加功能。

1. 质量筛选

ETL架构的核心就是一组质量筛选,它们在数据流管道中充当诊断过滤器。每一种质量筛选都是一种测试。如果对数据的测试成功了,则不进行任何操作,而且筛选也不会产生什么效果。但是如果测试失败了,那么就必须将错误事件记录丢弃到错误事件模式中,并且停止处理,将出错的数据发送到悬挂文件,或者仅对数据进行标记。

尽管所有的质量筛选在结构都是相似的,但是一般可以按照范围由小到大的顺序将它们分为三种类型。Jack Olson在其著作Data Quality: The Accuracy Dimension (Morgan Kaufmann, 2002)中将数据质量筛选分为三种:列筛选、结构筛选和业务规则筛选。

列筛选对单个列中的数据进行测试,一般是比较简单和显而易见的测试,如测试一个列是否包含意外的空值,某个值是否落到了规定的范围之外,或者某个值没有按照规定的格式给出。

结构筛选测试了各列数据的关系。可以对两个或者多个字段进行测试来验证它们是否具有某种层次结构,例如一系列多对一关系。结构筛选还测试两个表中字段之间的外键/主键关系,并且包括对整个字段块进行测试来验证它们是否都具有有效的通信地址。

业务规则筛选则进行更为复杂的测试,这些测试并不适合使用较为简单的列筛选或者结构筛选来实现。例如,可以对客户个人信息(profile)进行复杂的时间相关的业务规则测试,例如终身白金级的飞行员(lifetime platinum frequent ?yer)是指那些至少从业5年并且至少飞行了两百万英里的飞行员。业务规则筛选还包括聚集阈值数据质量检查,例如可以检查一下,为肘部扭伤这样比较轻微的诊断所开具的核磁共振(MRI)诊察数目是否不大可能出现。如果真的出现这种情况,那么当达到了MRI诊察的阈值时筛选就会抛出错误。

2. 响应质量事件

我们已经说明了每个质量筛选都必须判定当错误抛出时会发生什么事件。选项有:1)中断处理;2)向悬挂文件发送损坏的记录以便以后进行处理;3)仅标记数据并且将其传送到管道的下一步骤。到目前为止,只要有可能的话采用第三种选择是最好的。中断处理显然是有问题的,因为这需要人工干预来诊断问题,重新启动或者恢复执行刚才的工作,或者干脆就完全中止。将记录发送给悬挂文件通常也不是好的解决方法,因为并不清楚何时对这些记录进行修正,或者如果将这些记录修正了,何时才可以将它们重新引入到管道中。除非记录被交还给数据流程,否则数据库的整体完整性就很不可靠,因为其中有记录丢失了。我们建议对于比较次要的数据错误不要使用悬挂文件。第三种方式将那些有错误的数据标记出来通常是非常有效的。对错误的事实表数据可以在审计维上进行标记,我们在第6个子系统中将会讲到。错误的维度数据也可以使用审计维来标记。如果出现了数据丢失或者无用数据,可以在其自身的字段里使用唯一的错误值进行标记。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
探索ETL本质系列(转)
ETL学习心得
ETL架构中的38个子系统
数据仓库的数据质量
Access教程 第一章 Access数据库基础
数据安全:提高数据质量的最佳实践
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服