一种数据聚合清洗方法及系统技术方案

技术编号:20389519 阅读:26 留言:0更新日期:2019-02-20 02:43
本发明专利技术提供一种数据聚合清洗方法,该清洗方法包括以下步骤:从原始业务系统中提取原始数据;提取的原始数据经前置清洗后生成前置清洗结果存储在公共数据库内;不同清洗业务根据需求从公共数据库内提取所需前置清洗结果进行清洗运算,以生成相应的清洗结果;该方法将原始业务系统与各个清洗业务进行隔绝,大大降低了原始业务的I/O压力,减少了各个清洗业务对原始业务的干扰。本发明专利技术还提供一种数据聚合清洗系统。

【技术实现步骤摘要】
一种数据聚合清洗方法及系统
本专利技术涉及数据清洗领域,具体的说,涉及了一种数据聚合清洗方法及系统。
技术介绍
如图1所示,在传统Hadoop数据聚合清洗业务中,即使要处理的数据源相同,但按照业务的不同仍需要设计不同的数据清洗流程,这样会造成清洗业务效率及灵活度低下;因为各个清洗业务的结果有强业务关联性,故无法提供给其他清洗业务作为输入数据,这会导致运算力的大量浪费;由于每个清洗业务均会直接读取原始数据,这会引起大量重复的I/O操作,甚至会降低原始业务的I/O性能,从而影响原始业务系统;并且各个清洗业务的开发人员水平不尽相同,但每个清洗业务均需要直接接触原始业务系统,可能会出现因操作不规范引起的数据安全问题,从而威胁原始业务的安全性。为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
技术实现思路
本专利技术的目的是针对现有技术的不足,从而提供了一种数据聚合清洗方法及系统,能够降低批量数据清洗业务对原始业务的干扰,提升数据安全性。为了实现上述目的,本专利技术所采用的技术方案是:一种数据聚合清洗方法,该清洗方法包括以下步骤:从原始业务系统中提取原始数据;提取的原始数据经前置清洗后生成前置清洗结果存储在公共数据库内;不同清洗业务根据需求从公共数据库内提取所需前置清洗结果进行清洗运算,以生成相应的清洗结果。基于上述,所述前置清洗采用最小颗粒度清洗方法,包括以下步骤:将提取的原始数据送入至一个或多个MapReduceJob作业中;每个MapReduceJob使用多个预设正则表达式对原始数据的所有有效字段进行匹配,剥离干扰信息,取出目标格式数据,每个正则表达式对应一种原始数据;匹配结束后将目标格式数据以结构化数据的形式保存在HBase数据库内,即形成前置清洗结果。基于上述,不同清洗业务根据需求从公共数据库内提取所需前置清洗结果进行清洗运算,以生成相应的清洗结果的具体步骤为:创建一个与HBase数据库关联的Hive外联表,并对不同清洗业务的数据读取权限进行限制;不同清洗业务根据需求和数据读取权限从HBase数据库内提取所需前置清洗结果,并基于该清洗业务的数据运算方法进行清洗运算,以生成相应的清洗结果。基于上述,从原始业务系统中提取原始数据后,将原始数据复制到临时存储服务器中,再从临时存储服务器中读取原始数据进行前置清洗。基于上述,所述前置清洗采用父业务清洗方法,具体包括以下步骤:选取一个清洗业务作为父业务,并依次比较各个清洗业务与父业务之间的重合度,当重合度大于预设重合度阈值时,将该清洗业务并入父业务中;提取的原始数据经父业务清洗后,即生成前置清洗结果。本专利技术还提供一种数据聚合清洗系统,该清洗系统包括数据读取器、前置清洗设备、公共数据库和多个业务不同的后置清洗设备,所述数据读取器用于从原始业务系统中提取原始数据;所述前置清洗设备,用于对提取的原始数据进行前置清洗,并将生成的前置清洗结果存储在所述公共数据库内;所述后置清洗设备根据需求从所述公共数据库内提取所需前置清洗结果进行清洗运算,以生成相应的清洗结果。基于上述,所述前置清洗设备包括HBase数据库和一个或多个MapReduceJob作业,每个MapReduceJob作业内均设有多个正则表达式,每个正则表达式对应一种原始数据,不同MapReduceJob作业具有不同的正则表达式;所述MapReduceJob使用预设的正则表达式对原始数据的所有有效字段进行匹配,并在匹配结束后将匹配结果以结构化数据的形式保存在HBase内,即生成前置清洗结果。基于上述,还包括与所述HBase数据库相关联的Hive外联表,所述Hive外联表还用于对不同清洗业务的数据读取权限进行限制;不同清洗业务根据需求、所述Hive外联表以及数据读取权限从所述HBase数据库内提取所需前置清洗结果。基于上述,还可以包括临时存储服务器,所述临时存储服务器与所述数据读取器连接,用于存储所述数据读取器读取的原始数据;所述前置清洗设备与所述临时存储服务器连接,用于从所述临时存储服务器中读取原始数据。基于上述,所述前置清洗设备还可以合并重合度较高的清洗业务作为父业务,并利用父业务对提取的原始数据进行数据清洗,生成前置清洗结果。本专利技术相对现有技术具有突出的实质性特点和显著的进步,具体的说,本专利技术通过设置前置清洗设备对原始数据进行前置清洗,并将前置清洗结果存储在公共数据库中,各个清洗业务根据需要从公共数据库中提取所需数据进行相应的数据清洗,该方法将原始业务系统与各个清洗业务进行隔绝,大大降低了原始业务的I/O压力,减少了各个清洗业务对原始业务的干扰;同时本专利技术中的前置清洗采用的是最小颗粒度清洗方法,通过将各个清洗业务重复的运算工作单独剥离出来,减少重复运算,以提升处理效率;不论清洗业务如何变更,仅需要读取最小结果内的数据,最小结果被重复利用,运算力的利用率得以提高;通过Hive关联表对各个清洗业务读取权限进行限制,从而仅向每个清洗业务提供其运算需要的数据部分,大大提升了数据安全性,防止数据被滥用;并且由于最小结果的结构化存储方式,不论是调整或是新增清洗业务,只需要关注其数据运算部分即可,而无需重写数据清洗方法,这使得下级的清洗业务更加灵活。附图说明图1是传统数据聚合清洗流程示意图。图2是本专利技术所述的数据聚合清洗方法的流程示意图。图3是前置清洗方法的流程示意图。具体实施方式下面通过具体实施方式,对本专利技术的技术方案做进一步的详细描述。原始数据以工作日志为例,在使用Weblogic容器运行的系统内,会产生大量的工作日志,在传统清洗业务中,若需要统计一段时间内所有日志级别为ERROR的日志条目数量(清洗业务A),需要直接读取原始日志,完全读取日志文件后,统计出相应的条目数量;若同时还有其他清洗业务,如统计出现WARN级别日志的发生热点时间段(清洗业务B),则需要再次从原始日志文件读取,仍需要完整读取整个日志文件后得出结果。日志文件通常存储在原始业务所在的服务期内,这样反复频繁读物大体积文件显示会对原始业务造成干扰。且原始日志文件的读取效率十分低下,反复读取同一份日志文件会消耗大两的时间与计算力。为了解决上级问题,如图2所示,本专利技术提供了一种数据聚合清洗方法,该清洗方法包括以下步骤:从原始业务系统中提取原始数据;提取的原始数据经前置清洗后生成前置清洗结果存储在公共数据库内;具体的,如图3所示,前置清洗采用最小颗粒度清洗方法,这里所述的“最小颗粒度”体现:若原始数据格式为A-B-C-D-E,最小颗粒度的目标是取出字段A、B、C、D、E,此时的颗粒度为最小。最小颗粒度清洗方法的具体步骤为:将提取的原始数据以分布式架构HFDS送入至一个或多个MapReduceJob作业中;每个MapReduceJob使用多个预设的正则表达式对原始数据的所有有效字段进行匹配,剥离干扰信息,取出目标格式数据;优选的,一个正则表达式对应一种类型数据结构,用于进行该类型数据结构的匹配,其针对性极强,如数据格式为A-B-C的数据所对应的正则表达式与数据格式为A-B-CD的数据所对应的正则表达式完全不同;但在某些场景下,如Weblogic日志、Tomcat日志,其数据格式/结构完全一致,所以可以使用相同的正则表达式,即实现“通用”;匹配结束后采用本文档来自技高网...

【技术保护点】
1.一种数据聚合清洗方法,其特征在于,包括以下步骤:从原始业务系统中提取原始数据;提取的原始数据经前置清洗后生成前置清洗结果存储在公共数据库内;不同清洗业务根据需求从公共数据库内提取所需前置清洗结果进行清洗运算,以生成相应的清洗结果。

【技术特征摘要】
1.一种数据聚合清洗方法,其特征在于,包括以下步骤:从原始业务系统中提取原始数据;提取的原始数据经前置清洗后生成前置清洗结果存储在公共数据库内;不同清洗业务根据需求从公共数据库内提取所需前置清洗结果进行清洗运算,以生成相应的清洗结果。2.根据权利要求1所述的数据聚合清洗方法,其特征在于,所述前置清洗采用最小颗粒度清洗方法,包括以下步骤:将提取的原始数据送入至一个或多个MapReduceJob作业中;每个MapReduceJob使用多个预设正则表达式对原始数据的所有有效字段进行匹配,剥离干扰信息,取出目标格式数据,每个正则表达式对应一种原始数据;匹配结束后将目标格式数据以结构化数据的形式保存在HBase数据库内,即形成前置清洗结果。3.根据权利要求2所述的数据聚合清洗方法,其特征在于,不同清洗业务根据需求从公共数据库内提取所需前置清洗结果进行清洗运算,以生成相应的清洗结果的具体步骤为:创建一个与HBase数据库关联的Hive外联表,并对不同清洗业务的数据读取权限进行限制;不同清洗业务根据需求和数据读取权限从HBase数据库内提取所需前置清洗结果,并基于该清洗业务的数据运算方法进行清洗运算,以生成相应的清洗结果。4.根据权利要求1或2或3所述的数据聚合清洗方法,其特征在于:从原始业务系统中提取原始数据后,将原始数据复制到临时存储服务器中,再从临时存储服务器中读取原始数据进行前置清洗。5.根据权利要求1所述的数据聚合清洗方法,其特征在于,所述前置清洗采用父业务清洗方法,具体包括以下步骤:选取一个清洗业务作为父业务,并依次比较各个清洗业务与父业务之间的重合度,当重合度大于预设重合度阈值时,将该清洗业务并入父业务中;提取的原始数据经父业务清洗后,即生成前置清...

【专利技术属性】
技术研发人员:杨智李雪燕何金钢张东旭
申请(专利权)人:河南智云数据信息技术股份有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1