CN101533407B - 一种etl流程中异常数据检测方法 - Google Patents

一种etl流程中异常数据检测方法 Download PDF

Info

Publication number
CN101533407B
CN101533407B CN200910081511XA CN200910081511A CN101533407B CN 101533407 B CN101533407 B CN 101533407B CN 200910081511X A CN200910081511X A CN 200910081511XA CN 200910081511 A CN200910081511 A CN 200910081511A CN 101533407 B CN101533407 B CN 101533407B
Authority
CN
China
Prior art keywords
data
constraint
etl
node
filter
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.)
Active
Application number
CN200910081511XA
Other languages
English (en)
Other versions
CN101533407A (zh
Inventor
刘杰
叶丹
魏峻
黄涛
虞海江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan dream database Co., Ltd
Original Assignee
Institute of Software of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN200910081511XA priority Critical patent/CN101533407B/zh
Publication of CN101533407A publication Critical patent/CN101533407A/zh
Application granted granted Critical
Publication of CN101533407B publication Critical patent/CN101533407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种ETL流程中异常数据检测方法,属于数据仓库构建领域。本发明的方法为:1)将ETL工具设计的ETL流程转换为ETL抽象图;ETL抽象图包括关系结点和转换结点,各结点通过有向边连接,记录数据流向;关系结点包括数据源、目的端数据库及各操作的输出记录集;转换结点包含输入记录集模式与输出记录集模式的属性映射关系及元组选择条件;2)将目的端的数据约束转换为统一形式的数据约束;3)以目的端数据库为起点,将目的端的数据约束反向投影到数据源端;4)使用得到的数据源端的数据约束集合进行数据检测。本发明将目的端的数据约束需求投影到数据源端,来检测数据源端中的非法数据,大大提高ETL过程的效率。

Description

一种ETL流程中异常数据检测方法
技术领域
本发明涉及一种数据检测方法,尤其涉及一种ETL流程中异常数据检测方法,属于数据仓库构建中的ETL过程领域。
背景技术
ETL(Extract,Transform,and Load)是构建数据仓库的重要过程,它抽取数据源中相关数据,对数据进行转换使其满足数据仓库的需求,并将数据加载到目的端的数据仓库中。最初,ETL过程是手工编码实现,维护困难。当前,数据库和数据集成厂商提供了功能丰富的ETL工具。这些工具可以分为两类:一类工具支持图形化的ETL流程设计并且提供独立的引擎执行ETL任务,代表工具有Informatica的PowerCenter,IBM的Data Stage和Microsoft的SSIS;另一类工具,也叫ELT(Extract,Load,Transform),ELT支持数据源端和目的端的模式映射并且将ETL任务转换为SQL语句,存储过程交由DBMS执行,代表工具有Oracle的Data Integrator。
尽管ETL工具支持ETL流程设计,但实际应用中只能依靠数据源模式来设计转换规则,数据库中很多数据并不一定符合模式,这些不符合模式的数据称为“异常数据”,异常数据会让ETL过程崩溃,或者将错误带入到数据仓库中。当前异常数据主要由人工来分析处理,所以很难定位复杂ETL流程中的所有异常数据,很难保证数据质量。首先,数据仓库周期性的从多个数据源更新大量数据,而这些数据源通常是分布式异构的,因此一些数据源有很大概率包含不一致或者冲突的信息。其次,目的端数据库会对加载的数据定义一些约束,而源端的数据经过转换后可能仍然会违反这些约束。
很多数据质量工具与学术研究提出了异常数据检测和数据清理的方法,主要通过以下四种方法:数据分析(data analysis),数据清理(data cleansing),数据质量监控(data qualitymonitor)和数据采样(data sampling)。数据分析:通过分析数据实例来得到数据的特点和数值模式,从而帮助检测异常数据和进行模式映射。数据清理:进行异常数据过滤和重复记录消除,也包含各种提高数据质量的操作。数据清理操作通常与业务紧密结合,需要用户来决策,而且只能清理用户已发现的异常数据。数据质量监控:在ETL流程的各个活动及加载过程定义数据质量规则和处理策略,系统发现数据违反质量规则后,根据制定的策略来终止ETL过程,或者调用相应的数据清理操作。然而这些质量规则都需要用户来定义,多数情况并不能定义完善的质量规则来检测所有的异常数据。数据采样:设计好ETL流程后,对一些样本数据进行处理,来找到异常问题,然后对ETL流程的设计进行优化。虽然这个方法在实践中经常采用,但是并不容易找到高质量的样本数据集。
这些方法不能保证对大规模数据进行转换、加载后满足目的端的约束条件,而且都需要人工对ETL过程进行分析来设计数据源和目的端的映射规则。为了保证加载的数据不违反这些约束,不能期望用户设计完善的ETL过程。最好可以自动化的将异常数据过滤掉,并且越早越好。但是这个问题比想象中复杂。已有的ETL工具都不支持ETL流程上的推理,我们需要一种自动化的方法,它可以分析ETL流程和目的端的数据约束,在ETL流程中尽可能早的地方进行约束验证。
发明内容
本发明的目的是提出一种ETL流程中异常数据检测方法,其自动化的分析ETL流程并将目的端的数据约束沿ETL流程反向传播到数据源端,然后对数据源进行异常数据检测。
本发明的技术方案可以表示为图1,具体步骤如下:
1.将ETL工具设计的ETL流程转换为ETL抽象图。ETL抽象图是一种新的数据流程模型,它包含两种结点:关系结点(relation node)和转换结点(transformation node)。关系结点表示关系记录集,包括数据源、目的端数据库及各操作的输出记录集。转换结点表示数据转换操作,包含输入记录集模式与输出记录集模式的属性映射关系及元组选择条件。ETL抽象图中的边为有向边,连接各结点,记录数据流向。
给定一个ETL流程Ω,它对应的ETL抽象图G(Ω)按照下面的步骤构建:
1)对Ω中每一个数据转换操作创建一个转换结点α,输入记录集为{I1,...,In},输出记录集为O,根据其操作语义,生成每个输入记录集模式Ik与输出记录集模式O的属性映射关系mapping(α,Ik,O)和元组选择条件filter(α,Ik,O),k取值于1...n。
mapping(α,Ik,O)的一个例子表示为:Ik<k1,k2,...,kn>->αO<o1,o2,..,on>。尖括号内为各模式的属性,表示两边属性的对应关系。左边的属性可以包含函数操作。
filter(α,Ik,O)的一个例子表示为:Ik(k1>p∧...∧kn=q)->αO。其中的括号内为元组选择条件,为built-in谓词的合取式。可以表示大多数select条件。
对于基本关系代数操作,可以参考对应的mapping和filter的生成方法,参见实施例中表1。
2)对于每个转换结点α,创建一个关系结点resultTable(α)来表示该转换操作的输出记录集,并初始化其数据约束集合rules(resultTable(α))为空。
3)根据Ω中数据流向在关系结点和转换结点之间添加有向边。
2.获取目的端的数据约束,表示为统一形式的否定约束(denial constraints):pk表示关系谓词,xk表示元组,
Figure G200910081511XD00032
表示多个built-in谓词(<,>,=,≤,≥,≠等)的合取式。可以表达以下常见约束类型:非空(NotNull),值域(Value Domain),函数依赖(Function Dependency),Check(SQL语句支持的约束定义关键词)等。数据约束可以从数据库管理系统自动抽取或由用户自定义。目的端可以包含多个数据约束。传播过程中各记录集的数据约束也为统一的否定约束形式。
3.以目的端数据库为起点,沿数据流的反方向,将每个转换结点的输出记录集上的数据约束反向投影到它的各输入记录集上,直到数据源为止。
如果转换结点α包含无函数的mapping和确定的filter,数据约束反向投影过程含以下步骤:
1)对于一个数据约束c,它只含有输出记录集O的属性变量,对于一个输入记录集Ik,根据mapping(α,Ik,O)中属性映射关系,使用Ik的属性变量对c中变量进行替换得到c’。
2)如果c’仍包含O的属性变量,那么c无法投影到Ik,c在该边的传播过程终止。
3)如果c’只包含Ik的属性变量,且filter(α,Ik,O)为空,添加c’到Ik的数据约束集合rules(Ik)。
4)如果filter(α,Ik,O)不为空,将filter(α,Ik,O)中的元组选择条件添加到c’的合取式中,得到c”,添加c”到Ik的数据约束集合rules(Ik)。
5)对于每个数据约束,依次向每个输入记录集执行上面反向投影操作。
如果转换结点的mapping包含函数或者filter无法确定,需要采用特定的反向投影方法,在实施例中给出了针对基本关系操作的投影方法。
4.使用得到的数据源端的数据约束集合进行数据检测,将数据约束转换为SQL语句来定位违反约束的数据,用户可以进行数据清理。
5.投影得到的每个转换结点的输出记录集的数据约束可以提供给设计者用于ETL流程质量监控。
本发明的积极效果为:
采用本发明的方法,可以在设计好ETL流程后,将目的端的数据约束需求投影到数据源端,来检测数据源端中的非法数据,用户定位到非法数据后,一方面可以对数据源进行合适的数据清理与数据过滤,一方面可以提示用户对ETL流程进行必要的修改来保证加载数据的质量。传播得到的数据约束是数据经过ETL过程后成功加载的必要条件,因此可以大大提高ETL过程的效率。
附图说明
图1是ETL流程中数据约束传播技术方案图;
图2是实施例的ETL流程图;
图3是实施例的ETL抽象图。
具体实施方式
下面结合附图和实施例对本发明做进一步说明。
假定一个美国公司在中国有一个分公司,在本地记录雇员和部门的信息。现在要将该分公司的数据集成到美国总部的一个数据仓库DW中。
分公司数据库包含两个表:
employee(EId,Ename,Address,DeptID,StartDate,Salary)
department(DeptId,DeptName,DirectorId,Revenue)
关系employee的每个元组记录一个雇员的信息:EId是唯一编号,主键;EName是雇员名字;Address记录雇员的住址;DeptId是雇员部门的ID,外键;StartDate是雇员来部门开始工作的日期,格式为”YYYY-MM-DD”;Salary是员工的年工资,人民币(¥)。关系department每个元组记录一个部门的信息:DeptID是部门唯一编号;DeptName是部门名称;DirectorId是部门领导的ID;Revenue是部门的年收入,人民币(¥)。
目的端数据仓库DW位于美国,包含一个表:
seniorEmpInLargeDept(EId,EName,StartDate,Salary,DeptName,Size,Source)
每个元组记录一个雇员信息,StartDate的格式为“MM-DD-YYYY”,Salary的单位是美元,Size表示部门的雇员人数,Source表示数据的来源。
来自分公司的数据都需要进行处理后才可以加载到数据仓库中。可以使用一个ETL工具设计如图2所示的ETL流程图。其中三角形表示数据处理操作。
为了描述方便,假定每一个操作X后面存在一个临时的结果集resultTable(X)。具体的操作细节如下:
A1:使用外键DeptId等值连接表employee和department
A2:使用DeptId,DeptName进行分组,求雇员的个数Size
A3:连接表resultTable(A2)和employee
A4:为表resultTable(A3)添加字段Source,并赋值“DS1”
A5:进行投影操作,得到resultTable(A5)(EId,EName,StartDate,Salary,DeptName,Size,Source)
A6:将StartDate由格式“YYYY-MM-DD”转换为“MM-DD-YYYY”
A7:将Salary由人民币转换为美元
假定目的端数据仓库DW定义了以下数据约束:
DW-IC1:所有雇员的薪水Salary最小为50,000$
DW-IC2:所有部门雇员人数最少为10
DW-IC3:Salary不能为空
对于该实施例,我们期望根据DW的数据约束,得到数据源employee和department需要满足的数据约束,可以使用本发明的方法来求解。
具体步骤如下:
1.构造ETL抽象图
ETL流程主要描述数据处理操作的顺序与操作语义。而ETL抽象图重点记录每个数据处理操作输入记录集与输出记录集属性的映射关系和元组的选择条件,根据这两个条件可以定位与输出记录集对应的数据,来得到对应的数据约束条件。
基本关系代数操作可以表达基本的关系数据操作语义,是各种数据转换函数的基础,因此我们给出这些基本操作的属性映射关系(mapping)和元组选择条件(filter)的生成方法,如表1所示。
转换结点为α,I<a1,a2,...,an>表示输入记录集,O表示输出记录集,I1,...,In表示多个输入记录集。不考虑多个输出记录集的情况。
表1、关系代数操作的mapping与filter生成方法
Figure G200910081511XD00061
根据该表,构造该实施例的ETL抽象图,如图3所示。图中转换结点对应的mapping和filter为:
A1:1)employee<EId,Ename,Address,DeptId,StartDate,Salary>->A1
resultTable(A1)<EId,Ename,Address,DeptId,StartDate,Salary>
2)department<DeptId,DeptName,DirectorId,Revenue>->A1
dresultTable(A1)<DeptId,DeptName,DirectorId,Revenue>
3)filter为空
A2:1)resultTable(A1)<DeptId,DeptName,Revenue,EId>->A2
resultTable(A2)<DeptId,DeptName,Revenue,Size>,Size=COUNT(EId)
2)filter为空
A3:1)resultTable(A2)<DeptId,DeptName,Revenue,Size>->A3
resultTable(A3)<DeptId,DeptName,Revenue,Size>
2)employee<EId,Ename,Address,DeptId,StartDate,Salary>->A3
resultTable(A3)<EId,Ename,Address,DeptId,StartDate,Salary>
3)filter为空
A4:1)resultTable(A3)<EId,Ename,Address,DeptId,StartDate,Salary,DeptName,Size>->A4
resultTable(A4)<EId,Ename,Address,DeptId,StartDate,Salary,DeptName,Size>
2)filter为空
A5:1)resultTable(A4)<EId,Ename,StartDate,Salary,DeptName,Size,Source>->A5
resultTable(A5)<EId,Ename,StartDate,Salary,DeptName,Size,Source>
2)filter为空
A6:1)resultTable(A4)<EId,Ename,StartDate,Salary,DeptName,Size,Source>->A6
resultTable(A5)<EId,Ename,f(StartDate),Salary,DeptName,Size,Source>
f(“YYYY-MM-DD”)=“MM-DD-YYYY”
2)filter为空
A7:1)resultTable(A4)<EId,Ename,StartDate,Salary,DeptName,Size,Source>→>A7
resultTable(A5)<EId,Ename,StartDate,f(Salary),DeptName,Size,Source>
f(Salary)=Salary*7
2)filter为空
2.获取目的端的数据约束并转化为统一形式
根据该实施例中目的端的数据约束,将其转化为否定约束形式。不引起歧义时,为了简化表示,省略了全称量词和谓词名称。
rules ( DW ) = { &Not; ( Salary < 50000 ) , &Not; ( Size < 10 ) , &Not; ( Salary = Null ) }
3.数据约束反向传播
对于包含无函数mapping及确定的filter,只需要对filter转化为合取式,就可以采用发明内容中步骤3的方法进行约束反向投影。
3.0对于包含无函数mapping及确定的filter,使用发明内容步骤3方法投影。
对于包含函数的mapping和不确定的filter,因为其投影性质与具体的操作语义相关,因此我们给出聚集操作和函数操作的约束投影方法。
下面仍然使用相同的符号。数据转换操作为转换结点α,输入记录集为{I1,...,In),输出记录集为O。一个约束为c。
3.1对于聚集操作,只有一个输入记录集I,如果c中包含函数max或min的结果,在部分情况下可以投影得到约束条件。对于其他聚集操作,因无法对应到聚集的输入元组,因此都无法投影。如果c中不含聚集操作的结果,那么可以利用3.1-3投影。
3.1.1:如果转换结点α包含聚集操作min(attr),c包含 &Not; ( min ( attr ) &GreaterEqual; val ) (或 &Not; ( min ( attr ) > val ) ),那么将其替换为 &Not; ( attr &GreaterEqual; val ) (或 &Not; ( attr > val ) ),然后应用3.1-3。
3.1.2:如果转换结点α包含聚集操作max(attr),c包含 &Not; ( max ( attr ) &le; val ) (或 &Not; ( max ( attr ) < val ) ),那么将其替换为 &Not; ( attr &le; val ) (或 &Not; ( attr < val ) ),然后应用3.1-3。
3.1.3:如果c中不含聚集操作的结果,那么可以将聚集函数和分组函数去掉,转化为selection操作,使用3.0中的方法来投影。
3.2对于数值转换函数操作,只有存在反函数且有单调性才支持约束投影。
如果转换结点α包含函数操作newname=f(oldname),newname在c中出现,f存在反函数且单调,首先使用3.0中的方法进行投影,属性变量替换时使用f(oldname)替换newname,得到的约束中可能会包含函数操作符f,通过求f的反函数,根据单调性,生成等价约束。如果newname不在c中出现,直接应用3.0的方法即可。
比如得到 &Not; ( f ( attr ) &GreaterEqual; val ) , f单调递增,可以得到 &Not; ( ( attr ) &GreaterEqual; f - 1 ( val ) ) .
根据输入输出的个数划分,转换操作可以分为四类:(1)一个输入记录集一个输出记录集(2)多个输入记录集一个输出记录集(3)一个输入记录集多个输出记录集(4)多个输入记录集多个输出记录集。对于多输出记录集的情况,只有在操作为“分流”时才会出现,即同样一份数据被复制为多份,发送到不同的输出表。因为是数据的复制,输出端多个表的约束可以合并起来,然后采用与(1)(2)相同的方法进行转换,因此本发明只提供(1)(2)的约束投影方法。
操作中是否包含函数对约束投影的方法影响很大,因为函数会增加投影的难度。“多输入单输出”的操作都是无函数操作,包含union,intersection,difference,product,join。
而“单输入单输出”的操作按照是否包含函数来划分,又可以分为两类:
无函数操作::selection,projection,rename,add field。
函数操作:aggregate,function application。
约束的类型也对约束投影方法产生影响,因此投影方法还要根据不同的约束类型来划分。单元组约束指只含一个关系谓词的否定约束,比如NotNull。多元组约束包含多个关系谓词,指多个元组需要同时满足的约束,比如函数依赖。
对于不能进行约束投影的操作,是因为无法定为对应的属性或元组,比如集合差操作A-B=C,我们知道C需要满足的约束c,但是无法通过否定约束形式来定位与C中数据对应的A或B中的元组,因此无法进行投影。对于连接操作,如果A或B中存在不符合A连接B条件的元组,也无法定位与结果对应的元组,约束条件无法投影。对于这些情况可以通过扩展filter表达能力的方法来实现,比如如果无法使用否定约束表示元组选择条件,可以添加一个辅助表,来记录满足条件的元组的主键key。在具体实施时可以参考。对于非关系代数操作,用户如果可以标注出mapping和filter,也可以引用3.0中的方法进行投影。
应用上面的投影方法,可以按照下面的步骤得到实施例数据源端的数据约束。
A7:
rules ( resultTable ( A 7 ) ) = rules ( DW ) = { &Not; ( Salary < 50000 ) , &Not; ( Size < 10 ) , &Not; ( Salary = Null ) }
转换结点A7将Salary从RMB转换为美元,应用3.2中的方法,得到 &Not; ( f ( Salary ) < 50000 ) , newSalary=f(Salary)=Salary/7,f-1(newSalary)=newSlary*7,因此得到 &Not; ( Salary < 350000 ) 对于其他约束,不受A7的影响。
rules ( resultTable ( A 6 ) ) = rules ( DW ) = { &Not; ( Salary < 350000 ) , &Not; ( Size < 10 ) , &Not; ( Salary = Null ) }
A6:日期转换函数对各约束无影响,应用3.2中的方法
A5:投影操作,结果记录集的属性都来自于输入记录集,应用3.0中的方法
A4:Add操作不影响各约束,应用3.0中的方法
上面三步投影操作得到:
rules ( resultTable ( A 5 ) ) = rules ( resultTable ( A 4 ) ) = rules ( resultTable ( A 3 ) )
= { &Not; ( Salary < 350000 ) , &Not; ( Size < 10 ) , &Not; ( Salary = Null ) }
A3:连接操作,但是filter为空,应用3.0中的方法得到:
rules ( resultTable ( A 2 ) ) = { &Not; ( Size < 10 ) }
rules ( employee ) = { &Not; ( Salary < 350000 ) , &Not; ( Salary = Null ) }
A2:聚集函数,但是约束不含聚集函数结果,应用3.1中的方法得到rules(resultTable(A1))={}
A1:连接操作,但是filter为空,应用3.0中的方法得到 rules ( employee ) = { &Not; ( Salary < 350000 ) , &Not; ( Salary = Null ) }
rules(department)={}
4.异常数据检测
将得到的数据源的每个数据约束转换为独立的SQL语句,检测违反数据约束的数据。
对于实施例,可以采用下面的检测操作:
Select*from employee where salary<350000
Select*from employee where salary IS NULL
5.ETL流程质量控制
每个结点的数据约束可以提供给设计者,辅助其进行异常数据控制。有的数据约束无法推送到数据源,在每个数据约束传播的最后停止点进行异常数据检测,也可以提高ETL的执行效率。

Claims (8)

1.一种ETL流程中异常数据检测方法,其步骤为:
1)将ETL工具设计的ETL流程转换为ETL抽象图;所述ETL抽象图包括关系结点和转换结点,各结点通过有向边连接,记录数据流向;所述关系结点表示关系记录集,包括数据源、目的端数据库及各操作的输出记录集;所述转换结点表示数据转换操作,包含输入记录集模式与输出记录集模式的属性映射关系及元组选择条件;
2)将目的端的数据约束转换为统一形式的数据约束;
3)以目的端数据库为起点,沿数据流的反方向,将目的端统一形式的数据约束反向投影到数据源端;
4)使用得到的数据源端的数据约束集合进行数据检测。
2.如权利要求1所述的方法,其特征在于所述数据转换操作的类型为一个输入记录集对应一个输出记录集O或多个输入记录集对应一个输出记录集O。
3.如权利要求2所述的方法,其特征在于所述ETL抽象图的建立方法为:
1)对ETL流程Ω中每一数据转换操作创建一转换结点α,其输入记录集为{I1,...,In},输出记录集为O;根据流程Ω的操作语义,生成每个输入记录集模式Ik与输出记录集模式O的属性映射关系mapping(α,Ik,O)和元组选择条件filter(α,Ik,O);其中1≤k≤n,n为自然数;
2)对于每个转换结点α,创建一个关系结点resultTable(α)来表示该转换操作的输出记录集,并初始化其数据约束集合rules(resultTable(α))为空;
3)根据Ω中数据流向在关系结点和转换结点之间添加有向边。
4.如权利要求3所述的方法,其特征在于通过将每个转换结点的输出记录集上的数据约束反向投影到它的各输入记录集上,进行所述反向投影:
I)如果所述转换结点α包含无函数的mapping和确定的filter,则:
a)根据mapping(α,Ik,O)中属性映射关系,使用输入记录集Ik的属性变量对约束数据c中输出记录集O的属性变量进行替换得到c’;
b)检查c’中的属性变量,如果c’仍包含O的属性变量,那么c无法投影到Ik,c在该边的传播过程终止;如果c’只包含Ik的属性变量,且filter(α,Ik,O)为空,添加c’到Ik的数据约束集合rules(Ik);
c)如果filter(α,Ik,O)不为空,将filter(α,Ik,O)中的元组选择条件添加到c’的合取式中,得到c”,添加c”到Ik的数据约束集合rules(Ik);
d)对于每个数据约束,依次向每个输入记录集执行上述反向投影操作;II)如果所述转换结点α包含的mapping含有函数和不确定的filter,则:
a)如果转换结点α包含聚集操作min(attr),若数据约束c包含
Figure F200910081511XC00021
则替换其为
Figure F200910081511XC00022
若数据约束c包含
Figure F200910081511XC00023
则替换其为
Figure F200910081511XC00024
如果转换结点α包含聚集操作max(attr),若数据约束c包含则替换其为若数据约束c包含
Figure F200910081511XC00027
则替换其为
Figure F200910081511XC00028
经上述替换后,如果c中不含聚集操作的结果,则将聚集函数和分组函数去掉,转化为选择操作,后采用I)中的方法投影;
b)如果转换结点α是数值转换函数操作,同时该数值转换函数存在反函数且有单调性,则采用I)中的方法投影。
5.如权利要求4所述的方法,其特征在于所述步骤II)的步骤b)中,如果对数值转换函数f投影过程中得到的c’仍包含O的属性变量,则属性变量替换时使用函数f替换对应O的属性变量,然后通过求f的反函数,根据单调性,生成等价约束。
6.如权利要求4所述的方法,其特征在于所述反向投影中,对于集合差操作或连接操作,通过在filter中添加一个辅助表,用来记录满足条件的元组的主键进行反向投影。
7.如权利要求1所述的方法,其特征在于所述统一形式的数据约束为否定约束;所述否定约束的类型包括:非空、值域、函数依赖、SQL语句支持的约束定义关键词。
8.如权利要求7所述的方法,其特征在于所述否定约束的具体形式为:
Figure RE-FSB00000147423300019
其中pk表示关系谓词、表示元组、
Figure RE-FSB000001474233000111
表示多个内置谓词的合取式;所述内置谓词包括:<、>、=、≤、≥、≠。
CN200910081511XA 2009-04-10 2009-04-10 一种etl流程中异常数据检测方法 Active CN101533407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910081511XA CN101533407B (zh) 2009-04-10 2009-04-10 一种etl流程中异常数据检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910081511XA CN101533407B (zh) 2009-04-10 2009-04-10 一种etl流程中异常数据检测方法

Publications (2)

Publication Number Publication Date
CN101533407A CN101533407A (zh) 2009-09-16
CN101533407B true CN101533407B (zh) 2010-09-29

Family

ID=41104013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910081511XA Active CN101533407B (zh) 2009-04-10 2009-04-10 一种etl流程中异常数据检测方法

Country Status (1)

Country Link
CN (1) CN101533407B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117306B (zh) * 2010-01-04 2013-05-22 阿里巴巴集团控股有限公司 Etl数据处理过程的监控方法及其系统
CN102411599A (zh) * 2011-08-01 2012-04-11 中国民生银行股份有限公司 数据仓库中异常行为的处理方法及监测服务器
CN104933080B (zh) * 2014-03-21 2018-06-26 中国移动通信集团湖北有限公司 一种确定异常数据的方法及装置
CN105760383B (zh) * 2014-12-16 2019-06-11 阿里巴巴集团控股有限公司 一种etl任务中指标变更的检测方法和装置
CN104820720A (zh) * 2015-05-26 2015-08-05 北京京东尚科信息技术有限公司 一种数据质量检测方法和装置
CN105447079B (zh) * 2015-11-04 2018-11-02 华中科技大学 一种基于函数依赖的数据清洗方法
CN107729330B (zh) * 2016-08-10 2020-12-29 创新先进技术有限公司 获取数据集的方法和装置
CN106469419A (zh) * 2016-09-09 2017-03-01 国家电网公司 一种电力系统营配调贯通数据的处理方法及装置
CN106802931B (zh) * 2016-12-28 2020-06-09 深圳市华傲数据技术有限公司 基于影响分析进行数据表查找的方法及装置
CN109426576B (zh) * 2017-08-30 2022-03-29 华为技术有限公司 容错处理方法以及容错组件
PL233157B1 (pl) * 2017-10-20 2019-09-30 Politechnika Slaska Sposób ekstrakcji i transformacji strumieniowych danych pomiarowych wykorzystujący obliczenia równoległe
CN109101571B (zh) * 2018-07-17 2020-12-08 新华三大数据技术有限公司 Etl设计过程的处理方法、装置和设备
CN116401090B (zh) * 2023-04-23 2024-01-30 中航信移动科技有限公司 一种基于数据更新的异常数据源确定方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684069A (zh) * 2004-04-13 2005-10-19 微软公司 计算机化财务系统的提取、变换和加载设计器模块
CN101388038A (zh) * 2008-10-28 2009-03-18 杭州华三通信技术有限公司 数据抽取、转换和加载的执行方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684069A (zh) * 2004-04-13 2005-10-19 微软公司 计算机化财务系统的提取、变换和加载设计器模块
CN101388038A (zh) * 2008-10-28 2009-03-18 杭州华三通信技术有限公司 数据抽取、转换和加载的执行方法和装置

Also Published As

Publication number Publication date
CN101533407A (zh) 2009-09-16

Similar Documents

Publication Publication Date Title
CN101533407B (zh) 一种etl流程中异常数据检测方法
Melnik et al. Rondo: A programming platform for generic model management
JP3213585B2 (ja) データ検索方法及び装置、データ検索システム、記録媒体
Andritsos et al. Clean answers over dirty databases: A probabilistic approach
US6014670A (en) Apparatus and method for performing data transformations in data warehousing
CN100541493C (zh) 用于结构化文档管理的装置和方法
CN109614413B (zh) 一种内存流式计算平台系统
WO2012012968A1 (zh) 一种分布式并行数据库系统的数据分区方法
CN110362572A (zh) 一种基于列式存储的时序数据库系统
WO2007083371A1 (ja) データ統合装置、方法、プログラムを記録した記録媒体
US8713041B2 (en) Peer to peer (P2P) missing fields and field valuation feedback
US10423623B2 (en) Hierarchy modeling and query
Shoval et al. Database reverse engineering: from the relational to the binary relationship model
CN112817958A (zh) 电力规划数据采集方法、装置及智能终端
Agrawal et al. An enhanced extract-transform-load system for migrating data in Telecom billing
CN113221528B (zh) 基于openEHR模型的临床数据质量评估规则的自动生成与执行方法
JP2017010376A (ja) マートレス検証支援システムおよびマートレス検証支援方法
Fan Investigating a heterogeneous data integration approach for data warehousing
CN111813777B (zh) Olap自动创建并写入mq数据的方法及系统
JP2001517338A (ja) データベース内の情報をコンピュータにより動的に作成、変更、削除、保持する方法
US20240012814A1 (en) Runtime statistics feedback for query plan cost estimation
JP4681338B2 (ja) データベース移行方法
CN116383314A (zh) 一种关系数据库的模式和元组级别起源数据存储方法
CN114331654A (zh) 一种基于hive的页面配置对账系统和方法
JP5733434B6 (ja) データ統合装置、データ統合方法およびデータ統合プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200716

Address after: 430073 16-19 / F, building C3, future science and technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Patentee after: WUHAN DAMENG DATABASE Co.,Ltd.

Address before: 100190 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun

Patentee before: Institute of Software, Chinese Academy of Sciences

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 430073 16-19 / F, building C3, future science and technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee after: Wuhan dream database Co., Ltd

Address before: 430073 16-19 / F, building C3, future science and technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee before: WUHAN DAMENG DATABASE Co.,Ltd.