(计算机应用技术专业论文)数据清洗技术的研究及其应用.pdf_第1页
(计算机应用技术专业论文)数据清洗技术的研究及其应用.pdf_第2页
(计算机应用技术专业论文)数据清洗技术的研究及其应用.pdf_第3页
(计算机应用技术专业论文)数据清洗技术的研究及其应用.pdf_第4页
(计算机应用技术专业论文)数据清洗技术的研究及其应用.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机应用技术专业论文)数据清洗技术的研究及其应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 在为数据仓库系统准备数据时,常常面临一系列的数据质量问题。 数据质量问题常常是由于数据在输入、获得、集成及传输过程中不可避 免的会出现错误,例如数据格式不统一或者拼写错误等等。而数据清洗 的目标正是将这些数据经过一系列转化使其达到数据质量的标准。本文 主要研究了数据清洗的相关技术及其在数据仓库数据准备过程中的具体 应用。 本文首先论述了数据质量的相关理论及其定义,进而分析了进入数 据仓库之前进行数据清洗的必要性以及主要的数据清洗过程,同时阐述 了当前数据清洗的各种理论框架及其应用的发展现状。然后,针对已有 系统的不足,提出了一个数据清洗的框架模型及其部分实现。 本文的重点是对可扩展可定制数据清洗框架的研究与设计。此框架 集数据清洗迁移为一体,使用基于x 札的过程描述语言对每个清洗过程 进行定义,并利用元数据管理中心对清洗所需要的所有元数据进行统一 存取。同时使用j a v a 与瑚l 进行开发,大大提高了其跨平台运行的能力, 并可作为组件方便地集成到其他应用系统中去以实现数据清洗功能。文 章最后也提出了系统存在的不足之处及今后需要研究改进的地方。 关键词:数据清洗,过程描述语言,元数据管理中心,数据仓库 作者:梁文斌 指导老师:孙涌 a b s t r a c t数据清洗技术的研究及j ej 衄用 a b s t r a c t i nt h ep r o c e s so fp r e p a r i n gt h ed a t af o rd a t aw a r e h o u s e ,w ea r ea l w a y s f a c i n gt h ep r o b l e m so fd a t aq u a l i t y 1 1 1 ea b o v em e n t i o n e dp r o b l e m sa r e c a u s e db yt h eu n a v o i d a b l ee r r o r si nt h ep r o c e s so fd a t ai n p u t t i n g ,d a t a r e q u e s t i n g ,d a t ai n t e g r a t i n g ,d a t at r a n s f e r r i n g ,s u c ha sf o r m a te r r o ro rs p e l l e r r o re t c t h ed a t ac l e a n i n g st a r g e ti st om a k et h ed a t aa c h i e v et h eq u a l i t y s t a n d a r da f t e ras e r i e so ft r a n s f o r m a t i o n t l l i sp a p e rs t u d i e st h er e l a t i v e t e c h n o l o g yo f d a t ac l e a n i n ga n dt h ea p p l i c a t i o ni nt h ep r o c e s so fp r e p a d n gt h e d a t af o rd a t aw a r e h o u s e t h i sp a p e rs t u d i e st h et h e o r ya n dd e f i n i t i o n so fd a t aq u a l i t ya tf i r s t ,t h e n a n a l y z et h ei m p o r t a n c eo f t h ed a t ac l e a n i n ga n dm a i nc l e a n i n gp r o c e s s a l s o t h i sa r t i c l ec o m p a r e sc u r r e n tt h e o r yo fc l e a n i n gf r a m e w o r ka n dc o m m e r c i a l a p p l i c a t i o n s a f t e rt h ec o m p a r i n gm e n t i o n e da b o v e ,t h i sp a p e rp r o p o s ead a t a c l e a n i n gf r a m e w o r k a n dp a r to fi m p l e m e n t a t i o n t h i sp a p e rp u tm u c he m p h a s i so nt h er e s e a r c ha n dd e s i g no ft h ed a t a c l e a n i n gf r a m e w o r kw h i c hc a nb ee x t e n s i b l ea n dc u s t o m i z e d t h ed a t a c l e a n i n ga n dt r a n s f o r m a t i o na r ei n t e g r a t e di n t ot h i sf r a m e w o r ka n du s et h e x m l b a s e dp r o c e s sd e f i n i t i o nl a n g u a g et od e s c r i b ee v e r yc l e a n i n gp r o c e s s t h i sf r a m e w o r ku s e st h em e t a d a t aa d m i n i s t r a t i o nc e n t e rt oc o n t r o la l lt h e c o n f i g u r a t i o ni n f o r m a t i o nw h i c hu s e di nt h ec l e a n i n gp r o c e s s t om a k e t h i s p l a t f o r mc o m p a t i b l ew i t hm o s tp l a t f o r m s ,t h ef r a m e w o r ku s e sj a v aa n dx m l t e c h n i q u e s a l s ot h i sf r a m e w o r kc a nb ei n t e g r a t e di n t oa n yo t h e ra p p l i c a t i o n s t oc l e a nt h ed i r t yd a t a a tl a s ts u m m a r yi sg i v e nt od e s c r i b et h eo v e r a l l c h a r a c t e r sa sw e l la ss o m ed i s a d v a n t a g e sw h i c hn e e dt 西b ei m p r o v e di nt h e f u t t a r e k e y w o r d s :d a t ac l e a n i n g ,p r o c e s s d e f i n i t i o n l a n g u a g e ,m e t a d a t a a d m i n i s t r a t i o nc e n t e r ,d a t aw a r e h o u s e w r i t t e n b yl i a n gw e n b i n s u p e r v i s e db y s u n y o n g 驴 7 8 1 4 4 8 苏州大学学位论文独创性声明及使用授权声明 学位论文独创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立 进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文 不含其他个人或集体已经发表或撰写过的研究成果,也不含为获得苏 州大学或其它教育机构的学位证书而使用过的材料。对本文的研究作 出重要贡献的个人和集体,均已在文中以明确方式标明。本人承担本 声明的法律责任。 翔。多5 2 8 学位论文使用授权声明 苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论 文合作部、中国社科院文献信息情报中心有权保留本人所送交学位论 文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论 文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的 保密论文外,允许论文被查阅和借阅,可以公布( 包括刊静) 论文的 全部或部分内容。论文的公布( 包括刊登) 授权苏州_ 火学学位办办理。 期:瑚哆塑 期:幽:珞 数据清洗技术的研究及j e 应用 第一审绪论 1 1 研究背景 第一章绪论 市场竞争的日益加剧使得越来越多的企业建立了自己的数据库管理 系统,由计算机管理代替手工操作,以此来收集、存贮、管理业务操作 数据,改善办公环境,提高操作人员的工作效率,并在此基础上做出科 学、正确的决策,以求生存。然而传统的数据库应用系统是面向业务操 作设计的,只是借助计算机快速、准确处理的优势简化了具体操作人员 的劳动强度。而企业的中高层领导由于其角色的特殊性,往往对具体的 操作数据并不感兴趣,他们更需要了解的是隐藏在大量数据背后的趋势 信息,从而为企业的正确决策提供支持。于是企业需要新的技术来弥补 原有数据库系统的不足,需要把己经广泛收集到的数据集成到一起,这 就是数据仓库( d a t aw a r e h o u s e ,简记为d w ) 。数据仓库能从业务数据中 提取有用的信息,帮助企业领导在业务管理和发展上做出即时、正确的 判断,因此数据仓库成为信息技术领域非常热门的话题之一。 但是在数据仓库的建设过程中,一个被广泛认识但又常常被忽略的 问题是数据仓库中的数据质量的控制。高质量的决策必然依赖于高质量 的数据。为了避免得出错误的结论,数据的正确性是至关重要的,否则 就会出现所谓的垃圾迸,垃圾出( g a r b a g ei n ,g a r b a g eo u t ) 的现象。 据统计,数据在输入和获得,集成,传输过程中不可避免的会出现错误, 有错误的数据占总数据的5 左右。1 。由于数据仓库对数据的要求比较严 格,随着企业对数据仓库的依赖程度越来越高,错误的数据不仅会带来 数据仓库自身维护的高昂费用,而且更重要的是会导致制定错误的决策。 而这样错误的决策通常会导致组织的不信任和分散管理的注意力。比如, 在银行进行客户风险暴露估计时如果银行客户的分类数据不够精确,可 能会使银行认为其客户更多样化,而事实上并非如此。如果仓库中的数 据不符合支持决策的质量特征要求,那么建设数据仓库所付出的努力就 会因此而受到指责,如何尽量避免发生数据质量问题是数据仓库建设中 必须认真对待的事情。 为了在数据仓库的建设过程中保证数据的质量,国外开展了一系列 的研究工作,并研究了很多理论框架如a j a ) ( :1 1 ,a r k t o s ”1 ,p o t t e r s w h e e l ”1 并且有一些成熟的商业化产品如i b m 的v is u a lw a r e h o u s i n g 等 数据清洗技术的研究及e 心用 等。这些理论框架及其商业化产品在一定程度上解决了如何对进入数据 仓库的数据进行清洗从而提高数据质量的问题,但也存在一些不足之处, 本文将在下面单独的章节中论述。 1 2 数据仓库的相关概念 正如数据仓库理论创始人w h i n m o n 在其著作b u i l dd a t a w a r e h o u s e ) ) 嫡。所指出的:数据仓库是面向主题的、集成的、稳定的和随 时间变化的数据集合,主要用于决策分析。我们可以从容量庞大的业务 处理型数据库中抽取数据,清洗、转换为新的存储格式。并根据决策目 标,将存储于数据库中的决策分析所必需的、历史的、分散的、详细的 数据,经处理转换成集中统一的、随时可用的信息。与传统的数据库系 统业务处理为主的o l t p ( o n l i n et r a n s a c t i o np r o c e s s i n g ) 应用相比,数 据仓库是适应分析处理要求、面向以分析处理为主的o l a p ( o n l i n e a n a l y t i c a lp r o c e s s i n g ) 应用。图1 是数据仓库的基本体系结构。 图l 数据仓库基本体系结构 数据清洗投术的研究发e 戍用 数据仓库主要有如下4 个特征: 1 面向主题的。所谓主题,是指用户使用数据仓库进行决策时所关心的 重点方面,如销售情况、人事情况、整个企业的利润状况等;而面向主 题,是指数据仓库内的数据是按主题进行组织的,为按主题进行的决策 过程提供信息和支持。 2 集成的。数据仓库中的信息不是从各个业务处理系统中简单抽取出来 的,而是经过系统加工、汇总和整理得到的,以保证数据仓库内的信息 是关于整个企业的一致的全局信息。 3 相对稳定的。一旦某个数据进入数据仓库以后,一般情况下将长期保 留。也就是说,数据仓库中一般有大量的插入和查询操作,但修改和删 除操作很少。 4 反映时间变化的。数据仓库内的信息并不只是关于企业当前或某一时 刻的信息,而是系统所记录的企业从过去某一时刻( 如开始应用数据仓库 的时刻) 到目前的各个阶段的信息。这些信息可以用来对企业的发展历程 和未来趋势做出定量分析和预测。 1 8 数据质量与数据清洗 由于各种原因,如数据输入错误、不同来源数据引起的不同表示方法、 数据间的不一致等,导致现有系统数据库中存在这样或那样的脏数据, 主要表现为:不正确的属性值、重复记录、拼写问题、不合法值、空值、 不一致值、缩写词不同、不遵循引用完整性等。此外,在数据仓库从多 数据源中抽取数据时,由于各数据源数据库表结构的设计可能不同,当 完成从多数据源到数据仓库的数据迁移时,同样会产生一些错误或冗余 信息。若不进行清洗,这些脏数据会对建立的数据仓库系统造成不良影 响,扭曲从数据中获得的信息,影响数据仓库的运行效果。因此,为了 使数据仓库系统中的数据更准确、一致,消除重复和错误数据就变得很 重要。简单地讲,数据清洗就是从数据源中转化不同格式数据,清除错 误数值和重复记录,即利用有关技术如记录匹配或者预定义的清沈规则 等,从数据中检测和消除错误数据、不一致数据和重复数据,从而提高 进入数据仓库数据的质量。图2 展现了数据清沈在数据仓库构建过程中 的位置。 数据清洗技术的研究艟j 腑用 1 4 本文的工作 图2 数据仓库中数据清洗的位置 鉴于上述提高数据质量的迫切需要,数据清洗框架具有较高的研究 价值。针对当前数据清洗框架的不足,本文提出一个可扩展可定制的数 据清洗框架。该框架以j a v a 为主要的开发语言,并使用了基于x m l 的可自定义的过程描述语言定义相关的清洗工作;使用元数据管理中心 的管理存取预定义可定制的清洗规则,选择合适的规则或字典函数库, 清洗数据库中的种种错误和不一致现象;在完成数据抽取转换装载的同 时,也完成了数据的清洗工作。具体来说,本文主要做了以下几方面的 工作: 1 提出了一个跨平台的可扩展可定制的数据清洗的框架模型。 2 设计了一种基于x m l 的过程描述语言来解决过程可定制的问题。 3 设计了使用元数据管理中心对元数据进行统一存取的方案。 4 设计了一种数据清洗框架中使用的任务模型。 5 给出了此框架的设计方案及其部分实现。 囝一囝 第二章数据清洗相关理论研究 第二章数据清洗相关理论研究 本章中我们首先对主要的数据质量理论进行了分类介绍,然后介绍 了数据清沈的定义、通常的步骤及其评价标准,最后对现存的理论框架 及商业数据清洗工具进行了介绍和比较。 2 1 数据质量定义 为了提高数据质量,许多文献对影响数据质量的因素以及如何提高 数据质量的方法进行了研究。当前主要研究是针对数据仓库中的数据质 量问题提出度量数据质量的指标和计算指标的算法,为本文研究的主要 内容数据清洗提供了依据。 文献盯1 以形式化的方法定义了数据的一致性、正确性、完整性和最小 性,而数据质量被定义为这4 个指标在信息系统中得到满足的程度。文 献m 提出了数据工程中数据质量的需求分析和模型,认为存在很多候选的 数据质量度量指标,用户应该根据应用的需求选择其中一部分。文献阳3 将数据仓库质量根据用户的不同分为四类:设计与管理质量、数据应用 质量数据使用质量以及数据质量。每一类适用不同的用户,并定义了不 同的质量指标,包括正确性、完整性、一致性等。文献【1 0 1 将数据质量问 题分为4 类:单数据源模式层问题、单数据源实例层问题、多数据源模 式层问题和多数据源实例层问题。结合上述文献的研究成果并根据数据 仓库的特点及其本文的研究内容我们可以将数据质量定义为: 数据质量是数据在适合于一定的用途前提下的正确性、完整性、一 致性、可靠性的状态。 文献“1 提出了一些数据质量的评估指标。在进行数据质= 晕= 评估 时,要根据具体的数据质量评估需求对数据质量评估指标进行相应的取 舍。但是,数据质量评估至少应该包含以下两方面的基本评估指标( 图3 ) : 数据对用户必须是可信的。 可信性包括精确性,完整性,一致性,有效性,唯一性等指标,这 些指标的具体含义如下: 精确性:描述数据是否与其对应的客观实体的特征相一致。 完整性:描述数据是否存在缺失记录或缺失字段。 一致性:描述同一实体的同一属性的值在不同的系统是否一致。 有效性:描述数据是否满足用户定义的条件或在一定的域值范围内。 镰一章 数据清洗相关理论q 究 唯一性:描述数据是否存在重复记录。 数据对用户必须是可用的。 其中包括时间性、稳定性等指标。这些指标的具体含义: 时间性:描述数据是当前数据还是历史数据。 稳定性:描述数据是否是稳定的,是否在其有效期内。 数据质量评价标准 i 可信性 可i性 l 厂_ 厂_ _ 厂j _ 广上 广l m 件| | 一致性li 完整性i 唯一性1 卜! 兰兰卜兰竺兰一 | 稳定性 2 2 数据质量问题 图3 数据质量评价标准 数据仓库中的数据质量是由进入数据仓库中数据源的质量决定的。我 们可以将数据源中数据质量问题划分为单数据源和多数据源问题5 1 两大 类,每一类又可以细分为模式相关和实例相关两个方面的问题。如图4 所示: 数据质量问题 一 ij _ 二二i 一 二二二二二:一二二二二 单数据源问题l多数据源问题 1 一j l 叵匠叵至 呲值拼写错误 命名冲突 参考完整讹 l 冗余重复 纬构冲突 i 一i 。一。_ j i一 粒度不敛 时问不敛 ; 广_ 厂_ 厂_ 厂一 | j 图4 数据质量问题分类 第章数据清洗相关理论划f 究 单数据源问题 长期以来,对于源数据中的数据质量人们往往只关注数据源中具体 的数据即实例相关的问题,而忽视模式相关的问题。事实上一个数据源 的数据质量在很大程度上是由数据模式以及相应的完整性约束决定的。 数据模式和完整性约束控制了所允许进入源中数据的范围。如果在一个 数据源中没有数据模式( 例如文件系统数据源) ,就会对进入和存储的数 据缺乏相应的限制,出现数据错误和不一致的概率将大大提高。而关系 数据库依据特定的数据模型,对进入的数据进行引用完整性等等检查。 模式相关的数据质量问题常常是由于缺乏合适的数据模型或特定应用的 完整性约束而引起。模式及实例相关的问题都可以进一步细分为属性( 字 段) 、记录、记录类型以及源四种不同范围的错误。表1 给出了单数据源 中模式相关问题的一些例子。 表l 单数据源中模式相关问题的例子 范围问题脏数据问题的原因 属性错误的数据( 字段约束) 2 0 0 4 - 1 3 0 7月份越界 记录 属性依赖冲突a g e = 2 2 ,a g e 不等丁i 当前日期减 b i t h d a t e = 8 7 一1 2 0 3去生日日期 , 记录类删唯一性冲突( 如主键等)e m p l = ( e m p i d = 1 1 1 身份证号码唯一 i d c a r d = 1 2 2 3 2 ) , e m p 2 :( e m p i d :11 2 i d c a r d = 1 2 2 3 2 ) 源参考完整性冲突( 如外键等)o e p = 1 2 没有相席的部f 而典型的实例相关的问题包括: 空缺值:在一些记录的属性上没有记录值,这往往由于在数据输入时没 有合适的数据或者采用缺省值等而引起。 拼写错误:在输入过程中操作人员的拼写错误等等。 缩写:如将d a t aw a r e h o u s e 缩写为d w 。 内嵌数据:一个字段包括多个数据,这经常出现在具有自由格式的字段 中。 属性依赖冲突:如城市名与邮政编码应该相对应。 表2 给出了实例相关问题的一些例子: 第一章 数据清洗相关埋论研究 表2 实例相关问题的例子 范嗣问题脏数据问题的原冈 属性单属性嵌入值过多 n a m e :”j o h ns m i t hn e w y o r k对r 单个的属性值如 1 2 0 2 - 1 9 7 7 ” 姓名字段中含有过多 的信息 记录属性依赖冲突c l t y 2 s u z d o u ,城市编码与区号不匹 zi p c o d e = 0 5 2 3 配 记录类烈记录冲突e m p l = ( n a m e = ”j o h n现实世界中的实体出 s m i t h ”,b d a t e = ”1 2 0 2 7 0 ”)现了重复的描述 e m p l = ( n a m e = ”j o h n s m i t h ”。b d a t e = ”1 2 3 0 7 0 ”) 源参考值错误 e m p = ( n a m e = ”j o h n 此部f 不存在 s m i t h ”。d e p n o = 1 2 ) 多数据源问题 每一个数据源都是为了满足特定的需要而进行设计、部署和维护的, 也就是说它们在设计开发时往往是相互独立的。其结果是在数据库管理 系统、数据模型、模式设计以及数据格式等都存在很大的不同。在将多 数据源进行集成时数据质量河题表现得尤为突出。 在多数据源中存在的模式相关的问题主要是名字冲突和结构冲突。 名字冲突表现在同一个名字表示不同的对象或不同的名字表示同一个对 象。结构冲突的典型表现是:在不同的源中同一对象用不同的表示方式。 例如在不同数据源的属性与表中,同一对象可以表现为不同的成分结构、 不同的数据类型以及不同的完整性约束等。 除了模式级的冲突外,许多冲突只出现在实例级( 数据冲突) 。在单 数据源中所出现的各种问题都将以不同方式出现在不同的数据源中( 如: 重复的记录、矛盾的记录等) 。即使在具有相同属性名称和数据类型的情 况下,也可能有不同的数据表示( 如:在数据源l 中用0 、1 分别表示男、 女,而在另一个数据源2 中用m ,f 来表示) 或者不同的解释( 如:计量单 位一个是公斤,另一个是吨) 。还有在不同的数据源中信息的聚集程度 ( 如:每件商品的销售额对每组商品的销售额) 以及代表的时间点都有可 能不同。表格3 和表格4 分别展示了两个不同的数据源中关于客户信息 的数据。表格5 展示了经过数据清洗之后的数据。 数据清洗技术的研究及j c 心用第二章数据清冼相关理论韧f 究 表格3 多数据源清洗示例一数据源l c i d n a m es 仃e e l c i t y s 。 l1 1k r i s t e ns m i t h 2 h u r l e yp 1 s o u t hf o r k ,m n 4 8 5 0 30 2 4c h r i s t i a ns m i t h h u r l e ys t2 sf o r k m n1 表格4 多数据源清洗示例一数据源2 f c n ol a s tn a m ef i r s tn a m eg e n d e ra d d r e s s 2 4s m i t h c h r i s t o p h m 2 3h a r l e ys t ,c h i c a g oi l ,6 0 6 3 3 2 3 9 4 l2 4s m i t hk r i sl f2h u r l e yp l a c e ,s o u t hf o r km n ,4 8 5 0 3 - 5 9 9 8 表格5 多数据源清洗示例一清洗后的数据 n ol n a m ef n a m eg e n d es t r e e t c i t y s t a t e z i p 1s m i t hkr i s t e ol f 2h u r l e yp l a c e s o u t hf o r km n4 8 5 0 3 5 9 9 8 2s m i t hc h r i s t i a nm h u r l e ys t 2 s o u t hf o r km n 4 8 5 0 3 5 9 9 8 3 s m i t h c h r i s t o p h m 2 3h a r l e ys t r e e t c h i c a g o j l 6 0 6 3 3 2 3 9 4 2 3 数据清洗定义 数据清洗在不同的应用领域其定义不完全相同。例如,在数据仓库 环境下,数据清洗是抽取转换装载过程的一个重要部分,要考虑数据仓 库的集成性与面向主题的需要( 包括数据的清洗及结构转换) 。在 k d d ( k n o w e d g ed i s c o v e f yi nd a t a b a s e s ) 中数据清洗主要是提高数据的 可利用性( 去除噪声、无关数据、空白数据域,考虑时间顺序和数据的变 化等) ,但主要内容还是一样的。而按照文献”州,数据清洗是一个减少错 误和不一致性、解决对象识别的过程。本文将数据清沈定义为:在对数 据源进行充分地分析后,利用有关技术( 如预定义的清洗规则、字典函数 库及重复记录匹配等等) 将从单个或者多个数据源中抽取的脏数据经过 一系列转化使其成为满足数据仓库质量要求的数据,这样的过程我们称 之为数据清洗。如图5 所示。 第一章 数据清洗相关理论埘f 究 同一值的不同表示 囹5 数据清洗的基本原理 数据清洗按照实现方式与范围,可分为4 种: 1 手工实现 通过人工检查,只要投入足够的人力物力财力,也能发现所有错误, 但效率低下。在大数据量的情况下,几乎是不可能的。 2 编写专门的应用程序 这种方法能解决某个特定的问题,但不够灵活,特别是在清洗过程 需要反复进行( 一般来说,数据清洗一遍就达到要求的很少) 时,导致程 序复杂,清洗过程变化时,工作量大。而且这种方法也没有充分利用目 前数据库提供的强大数据处理能力。 3 解决某类特定应用域的问题 如根据概率统计学原理查找数值异常的记录,对姓名、地址、邮政 编码等进行清洗,这是目前研究得较多的领域,也是应用最成功的一类。 4 与持定应用领域无关的数据清洗 这一部分的研究主要集中在清洗重复的记录上。 这4 种实现方法由于后两种具有某种通用性及其较大的实用性, 引起了越来越多的注意。但是不管哪种方法,都由三个阶段组成: 1 数据分析、定义; 2 搜索、识别错误记录; 数据清洗技术的研究艟其应用 第一二章数据清洗相关理论i i j f 究 3 修正错误。 第一阶段,尽管已有一些数据分析工具,但仍以人工分折为主。在文 献 3 中,作者将错误类型分为两大类:单数据源与多数据源,并将它们 又各分为结构级与记录级错误。这种分类非常适合于解决数据仓库中的 数据清洗问题。 第二阶段,有两种基本的思路用于识别错误:一种是发掘数据中存 在的模式,然后利用这些模式清洗数据;另一种是基于数据的,根据预 定义的清洗规则,查找不匹配的记录。后者用得更多。 第三阶段。某些特定领域能够根据发现的错误模式,编制程序或借 助于外部标准源文件、数据字典一定程度上修正错误,对数值字段。有 时能根据数理统计知识自动修正,但经常须编制复杂的程序或借助于人 工干预完成。 2 4 数据清洗过程 基于上面我们对数据清洗的讨论,我们可以将数据清洗的过程分成 四个部分来讨论。 2 4 1 元素化 元素化是指根据用户定义的模式对结构松散的原始数据进行分级, 使之具有良好的粒度,成为结构性较强的数据。例如将下面这条地址信 思: r a l p hbk i m b a l i s t e 1 1 6 13 1 5 0h i w a y9 b o x12 3 4b o u l d e rc r k c o l o9 5 0 0 6 进行元素化其结果可能为: a d d r e s s e ef i r s tn a m e :r a l p h a d d r e s s e em i d d l ei n i t i a l :b a d d r e s s e el a s tn a m e :k i m b a l1 2 4 2 标准化 该模块通过用户定义的规则或者字典将原始数据中特定属性的数据 l i 第一章 数据清沈相关理论l j f _ 究 转变为统一的标准形式,使得数据更为规范。如在上例中将 s t e 变为s u i t e h i w a y 变为h i g h w a y b o u l d e rc r k 变为b o u l d e rc r e e k c o l o 变为c o l o r a d o 2 4 3 校验 对标准化的元素进行一致性校验,即在内容上有什么错误。如b o u l d e r c r e e k 的邮政编码9 5 0 0 6 是在c a l i f o r n i a ,而不是在c o l o r a d o 。由于 三个数据中有两个指向c a l i f o m i a ,所以将州名改为c a l i f o r n i a 。不过应 该做上标记以进行进一步的校验。 2 4 4 匹配 在其它客户记录中寻找r a l p hk i m b a l l 以确保在所有的记录中的相 应地址是相同的。但请注意:地址是否发生过改变,对“以前的”和“当 前的”地址指派单独的元素。 这一模块是系统中比较重要的模块。它的主要功能是匹配和合并两 个数据集中的记录,或者检测并剔除同一个数据集中的相似重复记录。 2 4 5 档案化 将前4 个步骤的结果写入元数据存储中一t l , 。这样可以更好地进行后 续的清洗过程,使得用户更容易理解数据仓库以及更好地进行切片、切 块等操作。 2 5 数据清洗评估 数据清洗的评估实质上是对清洗后的数据的质量进行评估,而数据质 量的评估过程是一种通过测量和改善数据综合特征来优化数据价值的过 程。数据质量评价指标和方法研究的难点在于数据质量的含义、内容、 分类、分级、质量的评价指标等。不同类型可持续发展数据( 即矢量数据、 栅格数据等) 评价方法不同,不同专业数据质量要求也有很大差异,很难 用统一的指标和方法进行评价,需要进行比较多的探索和试验研究。 一般来说,数据质量由数据质量元素来描述“7 ”3 。数据质量元素 第二章数据清洗相关理论研究 分为两类:数据质量的定量元素和数据质量的非定量元素( 图6 为评估模 型) 。数据质量定量元素( 包括数据质量定量元素子元素) ,用于描述数据 集满足预先设定的质量标准要求及指标的程度,并提供定量的质量信息。 数据质量非定量元素提供综述性的、非定量的质量信息。数据质量定量 元素用定量的方法描述以下1 3 方面的内容: 完整性:用来测量记录间的差距。 一致性:描述数据结构( 包括概念的、逻辑的或物理的数据结构) 、要 素属性和它们之间的相互关系符合逻辑规则的程度。如采用匹配值或 满足条件的导出值的比率进行衡量。 正确性:用来测量信息的正确性。 精度:用来测量精确度,给定数据值集合与相应正确值集合的相符程 度。例如与数据所描述的实际对象的特征进行比较时正确值的百分 比。 幅度:测量实体或事件的捕获信息的量。 深度:测量实体或事件的历史量。 生命期:用来测量一个记录的时间。 信息量:测量一个信息的信息量和不足程度。 冗余:测量不必要的重复信息的量。 可靠度:用来测量有关另一个相关信息的合法性。 关联度:相符或逻辑相关性,允许理性相关与其它相似数据比较时。 例如满足参照完整性条件的比率。 时间性:在需要时或指定时间提供的数据项或多个项,如一个指定时 间帧( 例如天或小时) 内可获取的数据比率。 唯一性:数据值被约束成一组独特的条目每个值只有唯一的类 型。与唯一| 生冲突的记录的比率( 重复的主键值) 。 有效性:数据值编辑可接受的相似性减小错误的概率。数据具有 值落入其相应可允许值域的值的比率。 而数据质量的非定量元素采用定性描述的方法来表述数据集非定量的质 量内容,包括三方面的内容: 目的:描述数据的原因和主要目的。 用途:描述数据集对于数据生产者和数据用户等的应用范围。 数据谱系:描述数据集的历史沿革,即数据集从获取、编辑到现 状完整生命周期的有关描述。数据谱系包括两个独立的部分:数据源信 息和数据处理步骤、重要处理事件( 转换、维护) 信息。对于不同的行业, 第一章 数据清洗相关理论叫究 数据质量的要求可能会有些不同。我们可在基本数据仓库数据质量要求 的基础上,密切结合领域重点数据库群中基础信息和各种专题信息不同 的质量控制特点和对质量的不同要求,提出了数据质量评价指标内容和 评价方法的标准方案。 图6 数据质量评估模型 2 6 现有的数据清洗工具及主要不足 数据清洗属于一个较新的研究领域,直接针对这方面的研究并不多, 中文数据清洗更少。现在的研究主要为解决两个问题:发现异常、清洗 重复记录。绝大部分数据清洗方案提供了接口用于编制清洗程序,但是 它们一般来说包括很多耗时的排序、比较、匹配过程,且这些过程多次 重复,用户必须等待较长时间。许多数据清洗工具提供了描述性语言解 决用户友好性,降低用户编程复杂度。例如: a j a x a j a x 提出了一个数据清洗框架,试图清晰地分离逻辑规范层和物理 实现层。用户在逻辑层设计数据处理流程,确定清洗过程需要执行的数 据转化步骤:物理层实现这些数据转化操作,并对它们进行优化。例如, 用户为了计算记录之间的相似度,对输入数据集指定执行匹配操作,而 在物理层,数据清洗系统会根据实际数据的特点选择一个特定的实现方 法。该算法可以进行优化,它无须计算所有记录的相似度,而同时又不 会损害所要求的结果。除了分离逻辑层和物理层以外,文献 3 提出了一 种描述性语言。该描述性语言可以在逻辑层上指定数据清洗过程所需采 取的数据转化操作,并指定何时可以弹出异常,要求用户的交互。该描 述性语言还可以指定一些数据转化操作的参数,比如记录匹配操作所使 用的距离函数等。 a r k t o s t 4 】 数据清洗技术的研究殷j e 应用 第一二审数据清洗相关理论 i j i = 究 a r k t o s 方案提供了一个在数据仓库构建过程中对抽取转换装载过程 进行建模及执行的框架。此方案将数据清洗过程看作e t l ( e x t r a c t i n g , t r a n s f o r m i n ga n dl o a d i n g ) 过程的一部分,由一些单独的过程组成。这 些过程从数据源抽取特定的数据,经过转换进而进行清洗,最后装载到 数据仓库中去。每一个过程称为一个活动,由一个输入及输出组成。每 个活动执行一定的逻辑,这种逻辑是由s q l 语句来定义的。 p o t t e r sw h e e l 吲 文献 5 提出了数据清洗的一个交互式系统框架,它紧密地集成数据 转化和差异检测。用户面对表单风格的界面,能够以直观的图形化方式 逐步建立起整个数据转化过程。在此过程中,用户可以执行或者撤消转 化操作,而且操作的结果马上就可以在屏幕上看到。后台进程以增量方 式检测转化后的数据中存在的问题,如果检测到,则及时报告给用户。 用户利用系统提供的基本的数据转化操作,无须书写复杂的程序就能够 完成数据清洗任务,而且用户能够随时看到每一步转化操作后的结果, 没有很长的延迟。因此,这个系统框架的交互性很好。 这些框架所使用的描述性语言都在一定程度上减轻了用户的编程难 度,但各系统一般不具有互操作性,不能通用。缺少元数据管理,用户 很难分析和逐步调整数据清洗过程。而且大部分的数据转化清洗规则缺 少逻辑描述,没有与物理实现分离。 表6数据清洗理论框架的特点对比 a j a x p o t t e r sw h e e la r k t o s 词汇错误 d o m a i n 格式错误削户定义模式学习 用户定义 相关性 州户定义 约束限制 过滤条件3 种约束定义 空缺值 t j 户定义 重复值处理匹再己聚簇,合行合并消除规则 与上述理论上的数据清洗框架相对比,各大数据库厂商纷纷宣布其 产品支持数据仓库并提出一整套用以建立和使用数据仓库的产品,比如 i n f o r m i x 公司的数据仓库解决方案,o r a c l e 公司的数据仓库解决方案等 等。各厂商的产品具有不同的特点,它们的抽取转换装载清洗工具也各 有其优势和不足。下表是对几个主要数据库厂商的工具的简单比较。在 众多的产品中,普遍认为d t g ( d a t at r a n s f o r m a t i o ns e r v i c e s ) 是系统最 第一章 数据清洗相关理论研究数据清洗挫术的研究及j e 腌用 易用、扩展性最好、编程效率最高的数据抽取工具。但d t s 主要使用 o d b c ( o p e nd a t a b a s ec o n n e c t i v i t y ) 来透明地访问各种数据库,而且对 除s q ls e r v e r 及其o r a c l e 之外地数据库支持并不好,另外一点o d b c 是w i n d o w s 上的标准,并不能很好的支持跨平台运用。而在我国,对数 据清洗的研究开发甚少,还没有一个成型的完善的e t l 工具应用于数据 仓库的系统中。 表7数据清沈商业化产品的特点对比 数据库厂商e t lj = 具优点缺点 f b mv i s u a i 数据源“泛,在人数据昔的抽取中具界面不够友灯,在处理复 w a r e h o u s i n g 有速度优势;提供编程接口和调用外杂的数据源时面临较多的 部程序的功能,计划自动执行数据抽:c 作 取: o r a c l eo r a c l e 提供功能包括:模型构造和设计;数流程繁琐,不易使用 w a r e h o u s e 据提取、移动和装载:数据仓库管理: b u i l d e r , 具有开放延伸的框架 l n f o r m i x d a t a s t a g e 提供工作流的方式,可以实现内部编数据抽取功能的处理方式 捍过于简单,程序的离效性 和准确性方面的保证措臆 太少 s q l s e r v e rd t s 从广泛的数据源抽取数据,提供市场使川o d b c 米连接各种数 上虽有效的编样方式,以及l :作流的 据源,限丁w i n d o w s 平台 任务处理方式:提供调刚外部程序的 功能和强人、丰富的被外部稃序调 的对象库:计划白动执行数据抽取 综上所述,当前存在的各种框架模型或者商业化产品在一定程度上解 决了通过数据清洗提高数据质量的问题,但还存在如可定制性不强或者 不能跨平台应用的不足。下一章中我们将给出一个数据清洗框架模型的 设计方案来解决这些问题。 数据清洗技术的研究及j c 成用第三章数据清洗框架的啦计 第三章数据清洗框架的设计 在上一章中,我们对数据质量进行了定义,并将数据质量问题分为单 数据源及多数据源两种分别进行讨论。根据业务对象对数据质量的要求 不同,数据清洗常常包括不同的清洗步骤,并且随着数据源性质的不同, 我们在数据清洗过程中的要求也不同。基于这些要求及在上一章中我们 对现存数据清洗工具的分析,我们需要设计一个满足以下特性的系统:首 先,它应该是完全可定制的,应能够根据不同的业务需求来定义清洗中 使用的策略或者规则。基于这一点,系统才有很好的扩展性。其次它应 该是平台无关的,无论是在广泛使用的w i n d o w s 平台还是在高端使用的 u n i x 系统,无论数据源是o r a c l e 数据库还是s y b a s e 数据库都应该能 够正常使用。还有系统最好能够独立组成应用程序,也可嵌入至其他应 用程序中作为其他程序的一个组件来执行。 基于以上几点,本文提出了一个跨平台的可定制可扩展的数据清洗 框架。本章的内容组织如下:第一节分析我们在设计数据清洗框架中应该 注意的地方。第二节描述了系统的整体框架并对各个功能模块做了简单 介绍。第三节详细的对转换过程模型做了描述。第四节描述了本系统相 对于其他已有的系统的特点。第五节描述了本系统选择的开发平台。 3 1 简介 通过分析和比较前一章中各个数据库厂商的商业化数据清洗工具及 其各种理论上的数据清洗框架,并根据业务的需求和条件,在数据清洗 框架的设计和开发时我们通常需要考虑以下一些因素: 数据抽取清洗操作是只需要做一次还是需要反复执行。 对于那些只需要一次抽取并清洗就可以的业务系统,我们可以不用 考虑过多的可扩展和可定制性,只需要按照特定的需求编写专门的应用 程序进行清沈即可,对于数据量较小的应用,我们甚至可以考虑进行手 工清洗。 系统是否需要在多个平台上进行 对于那些需要在不同平台上或者需要从不同数据库抽取数据的应 用,解决平台兼容性是个需要认真考虑的问题。对于那些使用w i n d o w s 的用户来说,w i n d o w s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论