CN102135995A - 一种etl数据清洗设计方法 - Google Patents
一种etl数据清洗设计方法 Download PDFInfo
- Publication number
- CN102135995A CN102135995A CN 201110063960 CN201110063960A CN102135995A CN 102135995 A CN102135995 A CN 102135995A CN 201110063960 CN201110063960 CN 201110063960 CN 201110063960 A CN201110063960 A CN 201110063960A CN 102135995 A CN102135995 A CN 102135995A
- Authority
- CN
- China
- Prior art keywords
- data
- etl
- load
- database
- data cleaning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明提供了一种ETL数据清洗设计方法及其在BI系统开发中的应用,通过预定义的数据清洗规则将脏数据转化成满足数据质量要求的数据,并应用基于距离的聚类方法检测数据相似度,最终满足数据清洗的目标要求。
Description
技术领域
本发明属于软件工程领域中商务智能软件开发方面,特别涉及一种ETL数据清洗设计方法,及该方法在日常生活中的应用。
技术背景
随着计算机技术的迅速发展,信息处理技术也得到了长足的发展。
瞬息万变的市场环境、琢磨不透的客户需求以及海量的业务数据决定了企业是商业智能(Business Intelligence,简称BI)应用的热点行业之一。近年来,商业智能在企业的确得到了长足的发展,越来越多的企业开始或已经实施商业智能项目。
ETL即数据抽取(Extract)、转换(Transform)、装载(Load)的过程。它是构建数据仓库、实现BI系统的重要环节。
数据清洗(data cleansing/data cleaning/data scrubing)是一个减少错误和不一致性、解决对象识别的过程。目前有很多数据清洗研究和ETL研究,但是如何在ETL过程中进行有效的数据清洗,此方面研究不多。
因此,为更好地推动BI在企业应用,有必要综合现有ETL经验,研究并完善数据清洗方法。
发明内容
本发明的目的是针对BI系统ETL过程中数据清洗存在数据清洗不充分的问题,提出一种ETL数据清洗设计办法。
为了实现发明目的,采用的技术方案如下:
首先介绍常见ETL数据处理方法。
数据抽取负责完成从数据源找到并取出当前主题所需的那部分数据,由于数据仓库中各个主题中的数据是按照前端应用的需求存放的,因此需要对抽取出的数据进行转换以适应前端应用的需要。转换后的数据就可以装入数据仓库了,数据加载过程定时进行,并且不同主题的数据加载任务有各自不同的执行时间表。
本方法基于数据库中的ETL处理。
数据库中的ETL处理方式使用数据库作为完整的数据转换引擎,在转换过程中也不使用段。数据库中的ETL处理具有数据库段区域中的ETL处理的优点,同时又充分利用了数据库的数据转换引擎功能,但是这要求数据库必须完全具有这种转换引擎功能。
综上分析三种ETL处理方式,数据库外部的ETL处理可扩展性差,不适合复杂的数据清洗处理,数据库段区域中的ETL处理可以进行复杂的数据清洗,而数据库中的ETL处理具有数据库段区域ETL处理的优点,又利用了数据库的转换引擎功能。所以为了进行有效的数据清洗,本方法使用数据库中的ETL处理。
附图说明
图1是本发明的数据清洗在ETL中应用模型示意图。
具体实施方式
如图1所示,在数据仓库系统中,数据清洗是ETL过程中的一个重要环节,主要任务是检测并删除/改正将装入数据仓库的脏数据。由于数据仓库的多种异构数据源和海量数据,数据清洗应是与领域无关的。而且数据清洗不是ETL中一个单独的步骤,需要与数据抽取、数据转换集成,与数据载入统一使用,需要进行循环处理。如果数据源是一个能力比较强的DBMS(如图1中的数据源1和数据源2),则可以在数据抽取过程中使用SQL来完成一部分的数据清洗工作。但是有一些数据源不提供这种能力(如数据源3),则只能直接将数据从数据源抽取出来,然后在数据转换的时候进行清洗。
具体实现过程:
不同的系统可以采用不同的数据清洗方法。基于某贸易公司的数据库。表Customer记录了公司的客户信息,共有11个字段:CustomerID CompanyName ContactName ContactTitle Address City Region PostalCode Country Phone Fax。我们以这个表为基础,编写程序来加入一些脏数据形成新表:Customernew。数据清洗分为以下几步:
(1)结构数据处理
将非标准的数据格式化成结构数据。
以数据库表Customernew的任意一条记录为例。Address、City和Phone三个字段值分别为:
Address:Obere Stre.57
City:Berlin
Phone:030-0074321
结构处理后为:
Address(1):Obere
Address(2):Stre
Address(3):57
City:Berlin
Phone(1):031
Phone(2):0074321
(2)标准化
将元素标准化,根据字典消除不一致的缩写。
这里的字典是用户通过分析样本表预先制定的一些规则的集合。样本表是根据概率统计从表Customernew选择一部
分记录所形成的一个表。首先分析Address(2)的值Stre,此值应是Street的缩写。而在字典中Street的缩写是Str,所以在这里,Stre被认为是脏数据,正确的数据应为:Str。
(3)校验
对标准化的元素进行一致性校验,即在内容上修改错误。
Berlin的电话区号应为:030,所以Phone(1)的值应为:030。
(4)匹配
在其它记录中寻找相似的记录,发现重复记录。
对整个表Customernew排序,然后在表中查找Address(1)值为Obere的所有记录,如果有这样的记录再去查找Address(2),依次类推,如果所有字段的数据全都相同,那么这两条记录就是重复记录。
(5)消除重复记录
根据匹配结果进行处理,删除部分记录或者合并多个记录为一个完整信息的记录。本方法采用了基于距离的聚类方法,重点在于它的类的评测标准为欧几里德距离或者Edit距离,通过这种距离来发现数据集中的重复记录。
(6)归档
将前5个步骤的结果写入元数据存储中心。
Claims (4)
1.一种ETL数据清洗设计方法,其特征在于使用数据库中的ETL处理;
2.一种ETL数据清洗设计方法,其特征在于预定义的数据清洗规则将脏数据转化成满足数据质量要求的数据;
3.一种ETL数据清洗设计方法,其特征在于符合传统ETL的抽取、转换和装载三个步骤;
4.根据权利要求3所述的ETL数据清洗设计方法,其特征在于基于距离的聚类方法来检测相似重复记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110063960 CN102135995A (zh) | 2011-03-17 | 2011-03-17 | 一种etl数据清洗设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110063960 CN102135995A (zh) | 2011-03-17 | 2011-03-17 | 一种etl数据清洗设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102135995A true CN102135995A (zh) | 2011-07-27 |
Family
ID=44295781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110063960 Pending CN102135995A (zh) | 2011-03-17 | 2011-03-17 | 一种etl数据清洗设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102135995A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722582A (zh) * | 2012-06-07 | 2012-10-10 | 陈浩 | 基于逆向清理的数据整合系统及方法 |
CN102780780A (zh) * | 2012-07-25 | 2012-11-14 | 中国联合网络通信集团有限公司 | 云计算模式下的数据处理方法、设备和系统 |
CN103198132A (zh) * | 2013-04-12 | 2013-07-10 | 中国农业银行股份有限公司 | 数据处理方法和装置 |
CN103593352A (zh) * | 2012-08-15 | 2014-02-19 | 阿里巴巴集团控股有限公司 | 一种海量数据清洗方法及装置 |
CN104102737A (zh) * | 2014-07-28 | 2014-10-15 | 中国农业银行股份有限公司 | 一种历史数据存储方法和系统 |
CN104268216A (zh) * | 2014-09-24 | 2015-01-07 | 江苏名通信息科技有限公司 | 一种基于互联网信息的数据清洗系统 |
CN104317624A (zh) * | 2014-11-04 | 2015-01-28 | 南京联创科技集团股份有限公司 | 基于插件处理的数据装配方法 |
CN104731908A (zh) * | 2015-03-24 | 2015-06-24 | 浪潮集团有限公司 | 一种基于etl的数据清洗方法 |
CN104933098A (zh) * | 2015-05-28 | 2015-09-23 | 浪潮软件集团有限公司 | 一种基于消除重复记录的数据清洗平台设计方法 |
CN106294492A (zh) * | 2015-06-08 | 2017-01-04 | 深圳中兴网信科技有限公司 | 数据清洗方法及清洗引擎 |
CN106354772A (zh) * | 2016-08-23 | 2017-01-25 | 成都卡莱博尔信息技术股份有限公司 | 具有数据清洗的海量数据系统 |
CN107229662A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 数据清洗方法和装置 |
CN107330092A (zh) * | 2017-07-04 | 2017-11-07 | 广西电网有限责任公司电力科学研究院 | 一种生产业务噪声数据检测和分离方法 |
CN108268876A (zh) * | 2016-12-30 | 2018-07-10 | 广东精点数据科技股份有限公司 | 一种基于聚类的近似重复记录的检测方法及装置 |
CN112052236A (zh) * | 2020-07-14 | 2020-12-08 | 中汽数据(天津)有限公司 | 一种基于汽车流通大数据的二手车计算方法 |
CN113077613A (zh) * | 2021-04-07 | 2021-07-06 | 浙江佳伯尔电子科技有限公司 | 一种防止传感器误判的报警器及其判断方法 |
CN114237206A (zh) * | 2021-12-17 | 2022-03-25 | 沈阳工程学院 | 一种面向复杂运行工况的风电变桨系统故障检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1953490A (zh) * | 2006-09-06 | 2007-04-25 | 南京中兴软创科技有限责任公司 | 一种利用etl技术对计费数据进行抽取提供的方法 |
EP2040180A1 (en) * | 2007-09-24 | 2009-03-25 | Hasso-Plattner-Institut für Softwaresystemtechnik GmbH | ETL-less zero-redundancy system and method for reporting OLTP data |
-
2011
- 2011-03-17 CN CN 201110063960 patent/CN102135995A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1953490A (zh) * | 2006-09-06 | 2007-04-25 | 南京中兴软创科技有限责任公司 | 一种利用etl技术对计费数据进行抽取提供的方法 |
EP2040180A1 (en) * | 2007-09-24 | 2009-03-25 | Hasso-Plattner-Institut für Softwaresystemtechnik GmbH | ETL-less zero-redundancy system and method for reporting OLTP data |
Non-Patent Citations (2)
Title |
---|
《计算机学报》 20010131 邱越峰等 一种高效的检测相似重复记录的方法 第69-77页 4 第24卷, 第1期 * |
《计算机工程与设计》 20100930 李庆阳等 面向数据质量的ETL框架的设计与实现 第2057-2060页 1-4 , * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722582A (zh) * | 2012-06-07 | 2012-10-10 | 陈浩 | 基于逆向清理的数据整合系统及方法 |
CN102722582B (zh) * | 2012-06-07 | 2015-04-15 | 陈浩 | 基于逆向清理的数据整合系统及方法 |
CN102780780A (zh) * | 2012-07-25 | 2012-11-14 | 中国联合网络通信集团有限公司 | 云计算模式下的数据处理方法、设备和系统 |
CN102780780B (zh) * | 2012-07-25 | 2014-11-19 | 中国联合网络通信集团有限公司 | 云计算模式下的数据处理方法、设备和系统 |
CN103593352A (zh) * | 2012-08-15 | 2014-02-19 | 阿里巴巴集团控股有限公司 | 一种海量数据清洗方法及装置 |
CN103593352B (zh) * | 2012-08-15 | 2016-10-12 | 阿里巴巴集团控股有限公司 | 一种海量数据清洗方法及装置 |
CN103198132A (zh) * | 2013-04-12 | 2013-07-10 | 中国农业银行股份有限公司 | 数据处理方法和装置 |
CN104102737A (zh) * | 2014-07-28 | 2014-10-15 | 中国农业银行股份有限公司 | 一种历史数据存储方法和系统 |
CN104102737B (zh) * | 2014-07-28 | 2018-01-30 | 中国农业银行股份有限公司 | 一种历史数据存储方法和系统 |
CN104268216A (zh) * | 2014-09-24 | 2015-01-07 | 江苏名通信息科技有限公司 | 一种基于互联网信息的数据清洗系统 |
CN104317624A (zh) * | 2014-11-04 | 2015-01-28 | 南京联创科技集团股份有限公司 | 基于插件处理的数据装配方法 |
CN104317624B (zh) * | 2014-11-04 | 2017-06-06 | 南京联创科技集团股份有限公司 | 基于插件处理的数据装配方法 |
CN104731908A (zh) * | 2015-03-24 | 2015-06-24 | 浪潮集团有限公司 | 一种基于etl的数据清洗方法 |
CN104933098A (zh) * | 2015-05-28 | 2015-09-23 | 浪潮软件集团有限公司 | 一种基于消除重复记录的数据清洗平台设计方法 |
CN106294492A (zh) * | 2015-06-08 | 2017-01-04 | 深圳中兴网信科技有限公司 | 数据清洗方法及清洗引擎 |
CN107229662A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 数据清洗方法和装置 |
CN107229662B (zh) * | 2016-03-25 | 2022-02-25 | 阿里巴巴集团控股有限公司 | 数据清洗方法和装置 |
CN106354772A (zh) * | 2016-08-23 | 2017-01-25 | 成都卡莱博尔信息技术股份有限公司 | 具有数据清洗的海量数据系统 |
CN108268876A (zh) * | 2016-12-30 | 2018-07-10 | 广东精点数据科技股份有限公司 | 一种基于聚类的近似重复记录的检测方法及装置 |
CN107330092A (zh) * | 2017-07-04 | 2017-11-07 | 广西电网有限责任公司电力科学研究院 | 一种生产业务噪声数据检测和分离方法 |
CN112052236A (zh) * | 2020-07-14 | 2020-12-08 | 中汽数据(天津)有限公司 | 一种基于汽车流通大数据的二手车计算方法 |
CN113077613A (zh) * | 2021-04-07 | 2021-07-06 | 浙江佳伯尔电子科技有限公司 | 一种防止传感器误判的报警器及其判断方法 |
CN114237206A (zh) * | 2021-12-17 | 2022-03-25 | 沈阳工程学院 | 一种面向复杂运行工况的风电变桨系统故障检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102135995A (zh) | 一种etl数据清洗设计方法 | |
CN106227800B (zh) | 一种高度关联大数据的存储方法及管理系统 | |
CN107402995B (zh) | 一种分布式newSQL数据库系统及方法 | |
CN111459985B (zh) | 标识信息处理方法及装置 | |
CN102033954B (zh) | 关系数据库中可扩展标记语言文档全文检索查询索引方法 | |
Wei et al. | Analyticdb-v: A hybrid analytical engine towards query fusion for structured and unstructured data | |
CN102521225B (zh) | 增量数据抽取装置和增量数据抽取方法 | |
US8924373B2 (en) | Query plans with parameter markers in place of object identifiers | |
JP6964384B2 (ja) | 異種データソース混在環境におけるフィールド間の関係性の自動的発見のための方法、プログラム、および、システム | |
Agarwal et al. | Approximate incremental big-data harmonization | |
CN102982103A (zh) | 一种olap海量多维数据维存储方法 | |
CN102495906A (zh) | 一种实现断点续传的增量式数据迁移方法 | |
CN110109910A (zh) | 数据处理方法及系统、电子设备和计算机可读存储介质 | |
CN104866521B (zh) | 处理具有混合存储器的数据库中的查询的设备和方法 | |
CN102222099A (zh) | 一种数据存储、查找方法及装置 | |
CN108446391A (zh) | 数据的处理方法、装置、电子设备和计算机可读介质 | |
CN104866576A (zh) | 一种Data Vault模型数据仓库自动构建的方法及装置 | |
CN104298736A (zh) | 数据集合连接方法、装置及数据库系统 | |
CN105630934A (zh) | 一种数据统计方法及系统 | |
CN102110123A (zh) | 倒排索引建立方法 | |
CN104516976A (zh) | 一种基于云数据库的知识产权侵权提醒系统 | |
CN107247624A (zh) | 一种面向Key‑Value系统的协同优化方法及系统 | |
CN102193983A (zh) | 图形数据库基于关系路径的节点数据过滤方法 | |
CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
CN104731908A (zh) | 一种基于etl的数据清洗方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110727 |