CN111125073A - 一种大数据平台数据质量校验的方法、装置及系统 - Google Patents
一种大数据平台数据质量校验的方法、装置及系统 Download PDFInfo
- Publication number
- CN111125073A CN111125073A CN201911234949.7A CN201911234949A CN111125073A CN 111125073 A CN111125073 A CN 111125073A CN 201911234949 A CN201911234949 A CN 201911234949A CN 111125073 A CN111125073 A CN 111125073A
- Authority
- CN
- China
- Prior art keywords
- quality
- data
- execution plan
- rule
- platform
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000014509 gene expression Effects 0.000 claims abstract description 58
- 230000001360 synchronised effect Effects 0.000 claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 21
- 238000004220 aggregation Methods 0.000 claims description 19
- 230000002776 aggregation Effects 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 14
- 238000007781 pre-processing Methods 0.000 claims description 10
- 230000000903 blocking effect Effects 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 6
- 238000013075 data extraction Methods 0.000 abstract description 10
- 238000004458 analytical method Methods 0.000 abstract description 6
- 230000010354 integration Effects 0.000 abstract description 4
- 238000013508 migration Methods 0.000 abstract 1
- 230000005012 migration Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 101100379633 Xenopus laevis arg2-a gene Proteins 0.000 description 3
- 101150088826 arg1 gene Proteins 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种大数据平台数据质量校验的方法、装置及系统,其中方法包括:S1:从质量平台获取质量规则表达式得到预执行计划;S2:对所述预执行计划进行处理,得到编译文件;S3:使用所述编译文件实时抽取目标数据库的缓存内的待同步数据进行计算统计;所述待同步数据为待同步数据库向所述目标数据库实时发送的数据;S4:根据所述计算统计结果生成质量报告,并发送所述质量报告至所述质量平台。通过将规则计算引擎嵌入到数据集成工具中,在数据迁移的过程中完成数据质量的在线分析,避免了数据落盘重复抽取数据造成计算资源和网络资源的消耗。
Description
技术领域
本发明涉及大数据平台数据质量校验领域,具体涉及一种大数据平台数据质量校验的方法、装置及系统。
背景技术
大数据平台采用质量规则表达式对数据进行校验,对规则表达式数据的结果作为key,统计key的出现概率,通过与预先设置的阈值比较判定质量校验是否通过。目前常见的大数据平台都是采用任务流的方式管理数据处理任务,通常以数据集成任务为任务流的起始任务,该任务用于将业务库数据同步到大数据平台的数据仓库中,通过新建质量任务,再次抽取业务库数据或者数据仓库的数据计算数据质量,该方案有如下缺点:
1.再次抽取业务库数据增加了业务库资源的消耗,如果将质量分析表达式通过sql传递给业务库,将极大的增加业务库的计算资源。
2.若通过抽取业务库在数据仓库中的数据副本做质量分析,将增加大数据平台的计算资源消耗。
发明内容
本发明的目的在于针对现有技术的不足之处,提供一种大数据平台数据质量校验的方法、装置及系统,通过将规则计算引擎嵌入到数据集成工具中,在业务库数据向大数据平台数据仓库同步迁移的过程中完成数据质量的在线分析,避免了数据落盘重复抽取数据造成计算资源和网络资源的消耗。
根据本发明的一个方面,本发明提供了一种大数据平台数据质量校验的方法,所述方法包括以下步骤:
S1:从质量平台获取质量规则表达式得到预执行计划;
S2:对所述预执行计划进行处理,得到编译文件;
S3:使用所述编译文件实时抽取目标数据库的缓存内的待同步数据进行计算统计;所述待同步数据为待同步数据库向所述目标数据库实时发送的数据;
S4:根据所述计算统计结果生成质量报告,并发送所述质量报告至所述质量平台。
优选地,所述步骤S1包括:
S11:将规则表达式解析成语法树,形成逻辑执行计划;
S12:对所述逻辑执行计划进行常量折叠优化,得到预执行计划。
优选地,所述步骤S2包括:
S21:通过代码生成器将所述预执行计划生成为java代码;对生成的所述java代码进行编译,得到编译文件;
S22:判断所述质量规则表达式中是否包含聚合函数,并根据判断结果执行对应的预执行计划生成规则生成所述java代码。
优选地,当所述质量规则表达式为自定义质量规则表达式时,所述步骤S1还包括:
将所述自定义质量规则表达式格式化为质量引擎接受的格式后得到预执行计划。
优选地,所述步骤S4之后还包括:
S5:当数据质量低于预设条件时,发出任务流阻塞指令以中止所述待同步数据库向所述目标数据库数据同步的进程。
根据本发明的另一个方面,本发明还提供了一种大数据平台数据质量校验的装置,所述装置包括:
规则预处理模块,从质量平台获取质量规则表达式得到预执行计划;
编译模块,对所述预执行计划进行处理,得到编译文件;
数据统计模块,使用所述编译文件实时抽取目标数据库的缓存内的待同步数据进行计算统计;所述待同步数据为待同步数据库向所述目标数据库实时发送的数据;
报告发送模块,根据所述计算统计结果生成质量报告,并发送所述质量报告至所述质量平台。
优选地,所述规则预处理模块具体用于:
将规则表达式解析成语法树,形成逻辑执行计划;
对所述逻辑执行计划进行常量折叠优化,得到预执行计划。
优选地,所述编译模块具体用于:
通过代码生成器将所述预执行计划生成为java代码;对生成的所述java代码进行编译,得到编译文件;
判断所述质量规则表达式中是否包含聚合函数,并根据判断结果执行对应的预执行计划生成规则生成所述java代码。
优选地,规则预处理模块,还用于将所述自定义质量规则表达式格式化为质量引擎接受的格式后得到预执行计划。
优选地,所述装置还包括:
阻塞模块,用于当数据质量低于预设条件时,发出任务流阻塞指令以中止所述待同步数据库向所述目标数据库数据同步的进程。
本发明再一个方面公开一种计算机系统,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如上所述的方法。
本发明有益效果:
本发明提供的大数据平台数据质量校验的方法,在数据在库之间同步迁移时进行质量校验,能够节约大数据平台计算资源、减少源数据库数据抽取的压力、数据抽取过程中可以实时感知数据质量。
同时可兼容但不限于sql语法的规则表达式,可根据需求增加自定义函数与运算规则。
本发明产品只需具有一项上述效果即可。
附图说明
图1是本发明的大数据平台数据质量校验的一个方法流程图;
图2是本发明的大数据平台数据质量校验的装置结构示意图;
图3是本发明的规则语法树示意图;
图4是本发明的另一规则语法树示意图;
图5是本发明的数据处理示意图;
图6是本发明计算机系统结构图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
实施例1
如图1所示,本发明提供了一种大数据平台数据质量校验的方法,所述方法包括:
S1:从质量平台获取质量规则表达式得到预执行计划;
优选地,所述步骤S1包括:
S11:将规则表达式解析成语法树,形成逻辑执行计划;
具体地,可以使用Antlr4解析规则表达式形成语法树,遍历语法树构造逻辑计划。
S12:对所述逻辑执行计划进行常量折叠优化,得到预执行计划。
具体地,对逻辑计划执行常量折叠操作,比如LENGTH(name)+1+2,经过常量折叠后将变成LENGTH(name)+3,最终生成预执行计划,。该步骤主要用于优化生成的代码,减少不必要的计算。
S2:对所述预执行计划进行处理,得到编译文件;
优选地,所述步骤S2包括:
S21:通过代码生成器将所述预执行计划生成为java代码;对生成的所述java代码进行编译,得到编译文件;
具体地,所述对所述预执行计划进行处理,得到编译文件Rule.class包括:通过代码生成器将所述预执行计划生成为java代码;使用JavaCompile对生成的所述java代码进行编译,得到编译文件Rule.class。
S22:根据规则表达式中是否包含聚合函数,通过不同的预执行计划生成规则生成java代码。
具体地,通过预执行计划生成规则计算java代码,生成的规则方法分为两种,当规则表达式中不包含聚合函数时,将生成rule_n(…)与m个aggregate_k变量与m个aggregate_fun_k(…)方法(此处不通顺,申请人应补充修改)例如有两条规则表达式(1)“length(name)<20,String name”用户名字符串长度小于20字节(2)“age<150,Int age”用户年龄小于150岁,两条规则表达式分别生成规则方法“rule_1(String name){returnlength(name)<20;}”和“rule_2(Int age){return age<150;}”。当规则中包含聚合函数时,例如用户年龄平均值在区间[20,40]范围内,“avg(age)>=20and avg(age)<=40,Intage,”将生成一个规则函数“rule_1(float arg1){return arg1>=20&&arg1<=40;}”,和一个聚合变量“public float aggregate_1;”。最终这些方法与变量被封装在RuleEngine类中。
在编译时,使用JavaCompile工具类遍历RuleEngine的代码,得到RuleEngine.class。
S3:使用所述编译文件实时抽取目标数据库的缓存内的待同步数据进行计算统计;所述待同步数据为待同步数据库向所述目标数据库实时发送的数据,如业务库向大数据平台仓库的数据同步。
具体地,使用所述编译文件Rule.class实时对抽取的数据进行计算统计。
考虑到数据集成工具从业务库抽取数据并写入大数据平台仓库的过程中,会建立一个缓冲区,本实施例通过读取缓冲区的数据作为参数,调用RuleEngine中的rule_n(…)方法与aggregate_fun_n(…)方法,当数据抽取完成后,质量规则已基本完成。对于不包含聚合函数的rule_n(…)方法,会生成一个以表达式值为key,值个数为value的map对象。对于包含聚合函数的rule_n(…)方法,在数据抽取结束后只需调用一次rule_n(…)方法即可,用于将聚合变量的值加入到rule_n(…)方法中,得到最终的规则表达式值,并生成key-value的map对象。
S4:根据所述计算统计结果生成质量报告,并发送所述质量报告至所述质量平台。
具体地,将上述步骤中生成的key-value map对象结合规则表达式的描述信息生成最终的质量报告,存入ElasticSearch,并发送给质量平台,以供质量平台通过web页面呈现给用户。
优选地,所述质量规则表达式包括自定义质量规则表达式和质量内置规则表达式,所述格式预处理用于将用户输入的自定义质量规则格式化为质量引擎接受的格式。
具体地,质量规则表达式包括自定义质量规则表达式和质量内置规则表达式,自定义质量规则表达式可以由用户根据自己的需求进行定义,而质量内置规则表达式通常是比较常用的规则,是预先内置在装置中,用户可以根据需要进行选择,能大大方便用户的使用,提高数据质量分析效率。质量规则由规则表达式与输入参数两部分组成,例如,质量规则为“LENGTH(name)<15,String name”,其中,LENGTH(name)<15为表达式部分,Stringname为参数部分。预处理用于将用户输入的质量规则格式化为质量引擎接受的格式。
优选地,所述步骤S4之后还包括:
S5:当数据质量低于预设条件时,发出任务流阻塞指令以中止所述待同步数据库向所述目标数据库数据同步的进程。
具体地,如果在步骤S4所统计分析的数据质量较低,或者小于一个预定的阈值,则装置器会阻塞整个任务流,避免无谓的计算。
本实施例提供的大数据平台数据质量校验的方法,能够节约大数据平台计算资源、减少源数据库数据抽取的压力、数据抽取过程中可以实时感知数据质量,必要时候阻塞整个任务流,避免无谓的计算。同时可兼容但不限于sql语法的规则表达式,可根据需求增加自定义函数与运算规则。
实施例2
如图2,根据本发明的一个方面,本实施例提供了一种大数据平台数据质量校验的装置,所述装置包括:
规则预处理模块201,从质量平台获取质量规则表达式得到预执行计划;
编译模块202,对所述预执行计划进行处理,得到编译文件;
数据统计模块203,使用所述编译文件实时抽取目标数据库的缓存内的待同步数据进行计算统计;所述待同步数据为待同步数据库向所述目标数据库实时发送的数据;
报告发送模块204,根据所述计算统计结果生成质量报告,并发送所述质量报告至所述质量平台。
优选地,所述规则预处理模块201具体用于:
将规则表达式解析成语法树,形成逻辑执行计划;
对所述逻辑执行计划进行常量折叠优化,得到预执行计划。
优选地,所述编译模块202具体用于:
通过代码生成器将所述预执行计划生成为java代码;对生成的所述java代码进行编译,得到编译文件;
根据规则表达式中是否包含聚合函数,根据判断结果执行对应的预执行计划生成规则生成java代码。包含聚合函数时时一种规则,不包含时是另一种规则。
优选地,所述质量规则表达式包括自定义质量规则表达式和质量内置规则表达式,所述格式预处理用于将用户输入的自定义质量规则格式化为质量引擎接受的格式。
优选地,所述装置还包括:
阻塞模块205,当数据质量低时,如判断到低于预设的条件(预设分数)时,发出任务流阻塞指令以中止所述待同步数据库向所述目标数据库数据同步的进程。
本实施例中各个模块所执行的方法步骤的具体实现过程可以参考实施例1中所描述的方法步骤的实现过程,此处不再赘述。
采用本实施例的装置,可以节约大数据平台计算资源、减少源数据库数据抽取的压力、数据抽取过程中可以实时感知数据质量,避免无谓的计算。在业务库数据向大数据平台数据仓库迁移的过程中完成数据质量的在线分析,避免了数据落盘重复抽取数据造成计算资源和网络资源的消耗。
实施例3
下面给出一个实施例1所描述的大数据平台数据质量校验的方法的具体实现过程:
规则需求1、求用户年龄分布百分比,分类包含年轻人、中年人、老年人,规则表达式为“case age when age<=35then‘Young’when age<=55‘Middle-Age’else‘Old’end,Int age”。
规则需求2、用户年龄平均值在区间[20,40]范围内,规则表达式为“avg(age)>=20and avg(age)<=40,Int age”。
预处理:将两条规则拼接用分号分开“case age when age<=35then‘Young’whenage<=55‘Middle-Age’else‘Old’end Int age;avg(age)>=20and avg(age)<=40,Intage”
生成执行计划:使用Antlr根据自定义语法文件解析预处理后的规则表达式得到执行计划语法树如如图3和图4所示,其中图3是规则1语法树,图4是规则2语法树。
生成代码编译:遍历规则1语法树可知改规则为sql的case when语句,生成代码方案采用java的if else条件判断语句实现,最终生成规则函数
遍历规则2语法树,发现规则中有聚合函数avg,将聚合函数表达式“avg(age)”用变量aggregate_1替换,同时生成聚合变量的统计函数
Publid void Aggregate_fun_1(Int age){
aggregate_1+=age;}
规则2函数public Object rule_2(Int age){
Return aggregate_1>=20&&aggregate_1<=40;}
最后需要生成一个统计变量public Long count=0;用于记录处理数据的条数。
将这些生成的代码封装到Rule.java文件中,使用JavaCompile工具类编译得到Rule.class。
统计:
图5示出了本发明的数据处理框图。此框图在不考虑RuleWriter的情况下是目前大数据平台常用的数据集成方案,通过reader读取业务库数据,存入buffer,writer从buffer中抽取数据写入到大数据平台。
将RuleWriter嵌入到此框图中,实现数据实时质量分析。RuleWiter从Buffer不断抽取数据,取数据中的age列值作为参数,分别调用rule_1方法、aggregate_fun_1方法,将rule_1方法的返回值作为key存入Map<Object,Long>结构中,value值是key值的计数。Aggregate_fun_1将会累加age的值,保存在aggregate_1变量中。数据传输结束后,执行“aggregate_1/=count”,得到age的平均数,调用包含聚合函数的规则rule_2,得到用户年龄平均值是否在区间[20,40]内。至此,完成了数据质量规则的统计计算过程。
生成质量报告:将统计的最终结构组织成符合质量平台要求的数据格式,发送给质量平台即可,无特定格式限制。最终由质量平台生成这份数据的质量报告。
实施例4
本发明实施例还提供了一种计算机系统,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述方法实施例的操作,具体包括:
S1:从质量平台获取质量规则表达式得到预执行计划;
S2:对所述预执行计划进行处理,得到编译文件;
S3:使用所述编译文件实时抽取目标数据库的缓存内的待同步数据进行计算统计;所述待同步数据为待同步数据库向所述目标数据库实时发送的数据;
S4:根据所述计算统计结果生成质量报告,并发送所述质量报告至所述质量平台。
其中,图6示例性的展示出了计算机系统的架构,具体可以包括处理器1510,视频显示适配器1511,磁盘驱动器1512,输入/输出接口1513,网络接口1514,以及存储器1520。上述处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520之间可以通过通信总线1530进行通信连接。
其中,处理器1510可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1520可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1520可以存储用于控制计算机系统1500运行的操作系统1521,用于控制计算机系统1500的低级别操作的基本输入输出系统(BIOS)。另外,还可以存储网页浏览器1523,数据存储管理系统1524,以及图标字体处理系统1525等等。上述图标字体处理系统1525就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1520中,并由处理器1510来调用执行。
输入/输出接口1513用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口1514用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1530包括一通路,在设备的各个组件(例如处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520)之间传输信息。
另外,该计算机系统1500还可以从虚拟资源对象领取条件信息数据库1541中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,存储器1520,总线1530等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的大数据平台数据质量校验的方法、装置及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (10)
1.一种大数据平台数据质量校验的方法,其特征在于:所述方法包括以下步骤:
S1:从质量平台获取质量规则表达式得到预执行计划;
S2:对所述预执行计划进行处理,得到编译文件;
S3:使用所述编译文件实时抽取目标数据库的缓存内的待同步数据进行计算统计;所述待同步数据为待同步数据库向所述目标数据库实时发送的数据;
S4:根据所述计算统计结果生成质量报告,并发送所述质量报告至所述质量平台。
2.如权利要求1所述的大数据平台数据质量校验的方法,其特征在于:所述步骤S1包括:
S11:将所述质量规则表达式解析成语法树,形成逻辑执行计划;
S12:对所述逻辑执行计划进行常量折叠优化,得到所述预执行计划。
3.如权利要求1所述的大数据平台数据质量校验的方法,其特征在于:所述步骤S2包括:
S21:通过代码生成器将所述预执行计划生成为java代码;对生成的所述java代码进行编译,得到所述编译文件;
S22:判断所述质量规则表达式中是否包含聚合函数,并根据判断结果执行对应的预执行计划生成规则生成所述java代码。
4.如权利要求1所述的大数据平台数据质量校验的方法,其特征在于:
当所述质量规则表达式为自定义质量规则表达式时,所述步骤S1还包括:
将所述自定义质量规则表达式格式化为质量引擎接受的格式后得到预执行计划。
5.如权利要求1-4任一项所述的大数据平台数据质量校验的方法,其特征在于:所述步骤S4之后还包括:
S5:当数据质量低于预设条件时,发出任务流阻塞指令以中止所述待同步数据库向所述目标数据库数据同步的进程。
6.一种大数据平台数据质量校验的装置,其特征在于:所述装置包括:
规则预处理模块,从质量平台获取质量规则表达式得到预执行计划;
编译模块,对所述预执行计划进行处理,得到编译文件;
数据统计模块,使用所述编译文件实时抽取目标数据库的缓存内的待同步数据进行计算统计;所述待同步数据为待同步数据库向所述目标数据库实时发送的数据;
报告发送模块,根据所述计算统计结果生成质量报告,并发送所述质量报告至所述质量平台。
7.如权利要求6所述的大数据平台数据质量校验的装置,其特征在于:所述规则预处理模块具体用于:
将所述质量规则表达式解析成语法树,形成逻辑执行计划;
对所述逻辑执行计划进行常量折叠优化,得到所述预执行计划。
8.如权利要求6所述的大数据平台数据质量校验的装置,其特征在于:所述编译模块具体用于:
通过代码生成器将所述预执行计划生成为java代码;对生成的所述java代码进行编译,得到所述编译文件;
判断所述质量规则表达式中是否包含聚合函数,并根据判断结果执行对应的预执行计划生成规则生成所述java代码。
9.如权利要求6-8任一项所述的大数据平台数据质量校验的装置,其特征在于:所述装置还包括:
阻塞模块,用于当数据质量低于预设条件时,发出任务流阻塞指令以中止所述待同步数据库向所述目标数据库数据同步的进程。
10.一种计算机系统,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如权利要求1-5任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911234949.7A CN111125073A (zh) | 2019-12-05 | 2019-12-05 | 一种大数据平台数据质量校验的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911234949.7A CN111125073A (zh) | 2019-12-05 | 2019-12-05 | 一种大数据平台数据质量校验的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111125073A true CN111125073A (zh) | 2020-05-08 |
Family
ID=70497598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911234949.7A Pending CN111125073A (zh) | 2019-12-05 | 2019-12-05 | 一种大数据平台数据质量校验的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125073A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326046A (zh) * | 2021-05-26 | 2021-08-31 | 网易(杭州)网络有限公司 | 获取编译时长的方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718432A (zh) * | 2016-03-16 | 2016-06-29 | 北京睿新科技有限公司 | 一种用于电网运行设备的信息挖掘与数据质量的校验方法 |
-
2019
- 2019-12-05 CN CN201911234949.7A patent/CN111125073A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718432A (zh) * | 2016-03-16 | 2016-06-29 | 北京睿新科技有限公司 | 一种用于电网运行设备的信息挖掘与数据质量的校验方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326046A (zh) * | 2021-05-26 | 2021-08-31 | 网易(杭州)网络有限公司 | 获取编译时长的方法和装置 |
CN113326046B (zh) * | 2021-05-26 | 2023-09-26 | 网易(杭州)网络有限公司 | 获取编译时长的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2018272840B2 (en) | Automated dependency analyzer for heterogeneously programmed data processing system | |
US9703675B2 (en) | Structured logging and instrumentation framework | |
CN110688307B (zh) | JavaScript代码检测方法、装置、设备和存储介质 | |
CN115061721A (zh) | 一种报表生成方法、装置、计算机设备及存储介质 | |
CN113018870B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
US11789913B2 (en) | Integration of model execution engine containers with a model development environment | |
CN115687050A (zh) | 一种sql语句的性能分析方法及装置 | |
CN114398138B (zh) | 界面生成方法、装置、计算机设备和存储介质 | |
CN110647360A (zh) | 协处理器的设备执行代码的处理方法、装置、设备及计算机可读存储介质 | |
CN112069052A (zh) | 一种异常对象检测方法、装置、设备及存储介质 | |
CN111125073A (zh) | 一种大数据平台数据质量校验的方法、装置及系统 | |
CN112860812A (zh) | 信息处理方法、装置、设备、存储介质及程序产品 | |
CN116661758A (zh) | 一种优化日志框架配置的方法、装置、电子设备及介质 | |
CN115994971A (zh) | 图像渲染时间的计算方法及装置、存储介质、电子设备 | |
CN115600038A (zh) | 页面渲染方法、装置、设备及介质 | |
CN114996427A (zh) | 基于智能问答的消息展示方法、装置、设备及存储介质 | |
CN112307050B (zh) | 一种重复关联计算的识别方法、装置及计算机系统 | |
CN114116773A (zh) | 一种结构化查询语言sql文本审核方法及装置 | |
CN113419738A (zh) | 接口文档的生成方法、装置及接口管理设备 | |
CN108984666B (zh) | 数据处理方法、数据处理装置和服务器 | |
CN111125264A (zh) | 基于扩展olap模型的超大集合分析方法及装置 | |
CN114328214B (zh) | 报表软件的接口测试用例的提效方法、装置、计算机设备 | |
CN103440399A (zh) | 一种调查数据电子化采集系统及其实现方法 | |
CN118606383A (zh) | 数据处理方法及设备 | |
CN115408453A (zh) | 一种配置化报表生成方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200508 |