数据清洗方法技术

技术编号:39602825 阅读:13 留言:0更新日期:2023-12-03 20:03
本申请涉及一种数据清洗方法

【技术实现步骤摘要】
数据清洗方法、数据清洗装置、计算机设备和存储介质


[0001]本申请涉及计算机
,特别是涉及一种数据清洗方法

数据清洗装置

计算机设备

计算机可读存储介质和计算机程序产品


技术介绍

[0002]近年来随着大数据技术的发展,为原来海量的日志

上网记录

历史数据等提供了新的分析技术手段,通过分析这些海量数据能够发现很多平时发现不到的有价值信息,数据分析由量变带来质变

大数据技术对企业内部可以支撑企业的经营分析,对于外部可以实现新的应用创新,为用户带来更多更好的服务

[0003]要做大数据服务,第一步就是要把分散在各处的数据采集上来,进行清洗,清洗好的数据进行入库

这个过程又叫
ETL
,涉及
extract
数据抽取
、Transformation
数据转换
、Load
数据装载三个步骤

[0004]然而过去数据清洗的手段只能针对单一的数据源,例如数据源要么是文本文件,要么是
Oracle、Mysql
数据库的记录,针对不同的数据源需要采用不同的清洗工具,目前还没有办法进行异构数据的融合清洗

另外,针对不同的数据源需要采用不同的清洗工具,不同数据源的清洗均需要编写不同的程序和脚本,例如:对于
Oracle、Mysqlr/>这些数据库要在数据库上编写
SQL
清洗脚本;对于海量的文件,大数据的清洗手段有
Mapreduce
程序和
Spark
程序

这些清洗手段要求用户掌握多种清洗工具的使用方法,有较高的清洗工具的开发能力,使用门槛比较高


技术实现思路

[0005]针对上述问题,本公开提供一种数据清洗方法

数据清洗装置

计算机设备

计算机可读存储介质和计算机程序产品

本公开的技术方案如下:根据本公开实施例的第一方面,提供一种数据清洗方法,包括:响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表;在所述待清洗列表中包括多条按照先后顺序排列的待清洗信息,各所述待清洗信息包括有对应的数据存储表信息

数据筛选规则和数据清洗规则;基于所述数据存储表信息,确定针对各所述待清洗信息的待清洗数据;其中,不同所述待清洗信息的待清洗数据所对应的数据来源不同;基于各所述待清洗信息的排列顺序

数据筛选规则和数据清洗规则,依次对各所述待清洗数据进行数据筛选处理和数据清洗处理,得到针对各所述待清洗数据的清洗结果;其中,在对所述待清洗数据进行数据清洗处理的过程中,响应于所述业务系统中待执行的业务指令的执行时间满足预设条件,暂停

结束或者重启所述数据清洗处理的进程;所述业务指令所用于指示执行的应用功能不同于所述数据清洗指令;将各所述待清洗数据的清洗结果存储于各自对应的数据存储表中

[0006]在一示例性实施例中,在所述业务系统中预先配置有定时清洗程序,所述定时清
洗程序用于分别在多个时间条件满足的情况下触发对应清洗批次的数据清洗指令;所述响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表,包括:在当前时间满足所述定时清洗程序对应的时间条件的情况下,触发数据清洗指令,以基于所述当前时间确定针对所述定时清洗程序的当前清洗批次和数据库信息;基于所述数据库信息连接目标数据库,并从所述目标数据库中提取出匹配于所述当前清洗批次的待清洗列表

[0007]在一示例性实施例中,各所述待清洗信息包括处于待清洗列表中的列序号和列名,所述数据存储表信息包括至少一张业务数据表的表名;所述基于所述数据存储表信息,确定针对各所述待清洗信息的待清洗数据,包括:针对每一所述待清洗信息,基于对应的至少一张业务数据表的表名,从业务数据库中索引出对应的所述至少一张业务数据表;从所述至少一张业务数据表中提取出针对所述待清洗信息的业务数据;基于所述列序号和所述列名,将所述业务数据封装成对应的分布式数据集合,并将所述分布式数据集合作为待清洗数据

[0008]在一示例性实施例中,所述数据筛选规则包括对应的预设范围条件和预设逻辑条件,所述数据清洗规则包括对应的至少一个清洗函数;所述对各所述待清洗数据进行数据筛选处理和数据清洗处理,得到针对各所述待清洗数据的清洗结果,包括:针对每一待清洗数据,基于所述数据筛选规则对所述待清洗数据进行数据筛选处理,以从所述待清洗数据中筛选出满足所述预设范围条件和所述预设逻辑条件的筛选数据;基于所述数据清洗规则对所述筛选数据进行数据清洗处理,以通过所述至少一个清洗函数将所述筛选数据转化为标准化数据,得到针对所述待清洗数据的清洗结果

[0009]在一示例性实施例中,所述预设范围条件包括起始时间和结束时间,所述预设逻辑条件包括至少一个业务逻辑;所述从所述待清洗数据中筛选出满足所述预设范围条件和所述预设逻辑条件的筛选数据,包括以下两项:从所述待清洗数据中筛选出处于所述起始时间和所述结束时间范围内的第一筛选数据;从所述待清洗数据中筛选出均符合所述至少一个业务逻辑的第二筛选数据

[0010]在一示例性实施例中,所述通过所述至少一个清洗函数将所述筛选数据转化为标准化数据,包括以下六项:通过第一清洗函数将所述筛选数据中的指定字符移除,得到第一标准化数据;通过第二清洗函数将所述筛选数据中的指定字符替换为预设字符,得到第二标准化数据;通过第三清洗函数将所述筛选数据中重复的目标字符移除,得到第三标准化数据;通过第四清洗函数将所述筛选数据中对应参数数值属于指定参数数值的字符做
分隔处理,得到第四标准化数据;通过第五清洗函数将所述筛选数据中满足对应正则表达式的字符做分隔处理,得到第五标准化数据;通过第六清洗函数将所述筛选数据中的空值字符填充默认值,得到第六标准化数据

[0011]在一示例性实施例中,所述响应于所述业务系统中待执行的系统业务指令的执行时间满足预设条件,暂停

结束或者重启所述数据清洗处理的进程,包括:响应于所述业务指令的起始执行时间与当前时间之间的距离小于第一距离,暂停所述数据清洗处理的进程;响应于所述业务指令的终止执行时间与当前时间之间的距离大于第二距离,重启所述数据清洗处理的进程;响应于所述业务指令的所述起始执行时间与所述终止执行时间之间的距离大于第三距离,结束所述数据清洗处理的进程

[0012]根据本公开实施例的第二方面,提供一种数据清洗装置,包括:指令触发单元,被配置为执行响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表;在所述待清洗列表中包括多条按照先后顺序本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种数据清洗方法,其特征在于,所述方法包括:响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表;在所述待清洗列表中包括多条按照先后顺序排列的待清洗信息,各所述待清洗信息包括有对应的数据存储表信息

数据筛选规则和数据清洗规则;基于所述数据存储表信息,确定针对各所述待清洗信息的待清洗数据;其中,不同所述待清洗信息的待清洗数据所对应的数据来源不同;基于各所述待清洗信息的排列顺序

数据筛选规则和数据清洗规则,依次对各所述待清洗数据进行数据筛选处理和数据清洗处理,得到针对各所述待清洗数据的清洗结果;其中,在对所述待清洗数据进行数据清洗处理的过程中,响应于所述业务系统中待执行的业务指令的执行时间满足预设条件,暂停

结束或者重启所述数据清洗处理的进程;所述业务指令所用于指示执行的应用功能不同于所述数据清洗指令;将各所述待清洗数据的清洗结果存储于各自对应的数据存储表中
。2.
根据权利要求1所述的方法,其特征在于,在所述业务系统中预先配置有定时清洗程序,所述定时清洗程序用于分别在多个时间条件满足的情况下触发对应清洗批次的数据清洗指令;所述响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表,包括:在当前时间满足所述定时清洗程序对应的时间条件的情况下,触发数据清洗指令,以基于所述当前时间确定针对所述定时清洗程序的当前清洗批次和数据库信息;基于所述数据库信息连接目标数据库,并从所述目标数据库中提取出匹配于所述当前清洗批次的待清洗列表
。3.
根据权利要求1所述的方法,其特征在于,各所述待清洗信息包括处于待清洗列表中的列序号和列名,所述数据存储表信息包括至少一张业务数据表的表名;所述基于所述数据存储表信息,确定针对各所述待清洗信息的待清洗数据,包括:针对每一所述待清洗信息,基于对应的至少一张业务数据表的表名,从业务数据库中索引出对应的所述至少一张业务数据表;从所述至少一张业务数据表中提取出针对所述待清洗信息的业务数据;基于所述列序号和所述列名,将所述业务数据封装成对应的分布式数据集合,并将所述分布式数据集合作为待清洗数据
。4.
根据权利要求1所述的方法,其特征在于,所述数据筛选规则包括对应的预设范围条件和预设逻辑条件,所述数据清洗规则包括对应的至少一个清洗函数;所述对各所述待清洗数据进行数据筛选处理和数据清洗处理,得到针对各所述待清洗数据的清洗结果,包括:针对每一待清洗数据,基于所述数据筛选规则对所述待清洗数据进行数据筛选处理,以从所述待清洗数据中筛选出满足所述预设范围条件和所述预设逻辑条件的筛选数据;基于所述数据清洗规则对所述筛选数据进行数据清洗处理,以通过所述至少一个清洗函数将所述筛选数据转化为标准化数据,得到针对所述待清洗数据的清洗结果
。5.
根据权利要求4所述的方法,其特征在于,所述预设范围条件包括起始时间和结束时间,所述预设逻辑条件包括至少一个业务逻辑;所述从所述待清洗数据中筛选出满足所述预设范围条件和所述预设逻辑条件的筛选
数据,包括以下两项:从所述待清...

【专利技术属性】
技术研发人员:刘江龙凌俊徐子然
申请(专利权)人:广东中思拓大数据研究院有限公司
类型:发明
国别省市:

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

1