【技术实现步骤摘要】
数据清洗的方法和装置
本专利技术涉及计算机
,尤其涉及一种数据清洗的方法和装置。
技术介绍
数据清洗是指对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。一般来说,数据清洗是一个反复的过程,利用有关技术如数理统计、数据挖掘或预定义的清理规则将数据转化为满足数据要求的数据的过程。如图1所示,现有的数据清洗技术直接利用同步输入/输出(I/O)流逐行读取文件的数据内容,对读取的数据处理后判断数据的内容是否合规(即进行数据清洗),如果数据的内容合规,则写入目标文件;否则,重新读取该文件的数据内容。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:对于数据量较小的文件,直接使用同步I/O流读取就可以处理了,但是对于数据量较大的文件,在读取数据的过程中容易造成内存溢出,导致数据清洗失败,程序可用性低;同时,对于数据量较大的文件,读写数据的过程耗时时间长,效率极低。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据清洗的方法和装置,能够避免在读取数据的过程中出现内存溢出,提高了程序的可用性;同时,缩短了数据清洗的处理时 ...
【技术保护点】
1.一种数据清洗的方法,其特征在于,包括:利用内存映射的方式将源文件切割为多个子文件;将所述子文件的内容读取到内存中;对所述子文件进行处理后发送至消息中间件平台进行数据清洗。
【技术特征摘要】
1.一种数据清洗的方法,其特征在于,包括:利用内存映射的方式将源文件切割为多个子文件;将所述子文件的内容读取到内存中;对所述子文件进行处理后发送至消息中间件平台进行数据清洗。2.根据权利要求1所述的方法,其特征在于,对所述子文件进行处理包括:在所述子文件的第一行数据和最后一行数据中添加标识,并分别存储至缓存系统,通过定时任务对已添加标识的所述第一行数据和所述最后一行数据分别进行数据整合以得到第一待清洗数据;以及将所述子文件的其它数据封装成第二待清洗数据。3.根据权利要求2所述的方法,其特征在于,发送至消息中间件平台进行数据清洗包括:将所述第一待清洗数据和所述第二待清洗数据经所述消息中间件平台的生产端分配至所述消息中间件平台的消费端进行数据清洗;将符合清洗规则的数据写入目标文件;以及将不符合清洗规则的数据记录到日志文件。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:将所述目标文件封装成清洗结果发送至数据仓库或数据集市。5.根据权利要求1所述的方法,其特征在于,将源文件切割为多个子文件包括:将所述源文件根据切割规则切割为多个所述子文件。6.根据权利要求1所述的方法,其特征在于,将所述子文件的内容读取到内存中包括:利用非阻塞输入/输出流将所述子文件的内容读取到内存中。7.一种数据清洗的装置,其特征在于,包括:切割模块,用于利用内存映射的方式将源文件切割为多个子文件;读取模块,用于将所述子文件的内容读取到内存中;处理模块,用于对所述子文件...
【专利技术属性】
技术研发人员:弋佐明,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。