一种用于大数据的数据清洗方法技术

技术编号:21115693 阅读:33 留言:0更新日期:2019-05-16 08:58
本申请提供一种用于大数据的数据清洗方法,所述方法包括:搭建Spark集群,配置所需组件;建立数据清洗规则库,包括业务规则;根据所述清洗规则库,对需清洗数据进行预处理,得到预处理后的需清洗数据;根据所述业务规则和所述待处理数据,进行Job划分,得到所述Spark集群的多个清洗Job,每一个所述清洗Job映射到具体的业务需求;将数据清洗任务,对应分配到所述Spark集群的多个清洗Job中,每个清洗Job按照数据清洗规则库的要求,对所述预处理后的需清洗数据采用树形清洗结构进行清洗,得到最终清洗结果。利用本申请各个实施例,可以提高清洗效率和准确性,使数据清洗方法具有较强的通用性和适应性。

A Data Cleaning Method for Large Data

【技术实现步骤摘要】
一种用于大数据的数据清洗方法
本申请涉及大数据
,特别涉及一种用于大数据的数据清洗方法。
技术介绍
随着计算机技术的日益发展和普及,当今社会已经从信息化时代进入大数据时代。每个人的一举一动都在产生大量的数据,这些数据被不同的信息系统收集着。企业需要根据收集到的数据分析用户的不同行为与喜好,为用户提供更好的服务,但当收集的数据达到TB、PB甚至EB级别时大多数信息系统都无法确保其收集的数据质量能满足用户的需求。影响数据质量的因素主要有:数据缺失、数据过时、数据错误、数据重复、数据冲突等。为了提高数据的质量,数据清洗技术至关重要。数据清洗为企业运营提供高质量的数据服务,也为数据挖掘提供可靠的数据基础。数据清洗是指通过对数据的检测和变换消除数据中的错误或冗余,从而获得符合要求的高质量数据。现有技术中,数据清洗采用的主要手段包括:(1)基于数据属性字段的约束对数据进行处理,但这种方法需要提前设计约束函数且若约束函数考虑不全面则有可能误删部分有用信息,造成数据缺失。为了提高该方法的有效性则需要人为干预,即在清洗过程中如约束函数无法处理时通过人的反馈操作进行清洗,由于增加了人为干预数据清洗的准确性会打打提高但是数据清洗所消耗的时间也会大大增加,且过于依赖人的主观判断。(2)在数据清洗过程中采用机器学习的方法,即事先训练出用于数据清洗的机器学习模型,在后续的数据清洗过程中,不断累积学习。这种方式去除了人为干预,提高了清洗的效率,但精确率有所下降,同时对于模型要求较高,当数据内容格式更加多元化时,其清洗质量也将受到较大影响。现有技术至少存在如下技术问题:清洗效率较低,清洗准确度较低,无法适用于针对大数据的数据清洗。
技术实现思路
本申请实施例的目的是提供一种用于大数据的数据清洗方法,以提高清洗效率,提高清洗准确性,使数据清洗方法具有通用性和适应性,以适用于大数据的清洗。本申请实施例提供一种用于大数据的数据清洗方法是这样实现的:一种用于大数据的数据清洗方法,所述方法包括:搭建Spark集群,配置所需组件;建立数据清洗规则库,所述数据清洗规则库至少包括业务规则;根据所述清洗规则库,对需清洗数据进行预处理,得到预处理后的需清洗数据;根据所述业务规则和所述待处理数据,进行Job划分,得到所述Spark集群的多个清洗Job,每一个所述清洗Job映射到具体的业务需求;将所述预处理后的需清洗数据的数据清洗任务,对应分配到所述Spark集群的多个清洗Job中,每个清洗Job按照所述数据清洗规则库的要求,对所述预处理后的需清洗数据采用树形清洗结构进行清洗,得到最终清洗结果。优选实施例中,所述对所述预处理后的需清洗数据采用树形清洗结构进行清洗,得到最终清洗结果的方式,包括:每个所述清洗Job按照所述数据清洗规则库,初步完成对应的数据清洗任务;所述多个清洗Job的数据清洗任务初步完成后,生成对应于每个清洗Job的不同数据表;若所述多个清洗Job的数据清洗任务初步完成后,得到的弹性分布式数据集无需再次清洗,则将所述弹性分布式数据集根据业务需求存储在所述不同数据表中,得到最终清洗结果;若所述多个清洗Job的数据清洗任务初步完成后,得到的弹性分布式数据集需要再次清洗,则将所述弹性分布式数据集再次分配到对应的清洗Job进行再次清洗,直至得到的新的弹性分布式数据集无需再次处理,则将所述新的弹性分布式数据集根据业务需求存储在所述不同数据表中,得到最终清洗结果。优选实施例中,所述根据所述清洗规则库,对需清洗数据进行预处理,包括:根据所述清洗规则库中的数据格式化规则,对所述需清洗数据进行格式化;对所述需清洗数据进行相似重复数据检测和清洗;对所述需清洗数据进行错误值检测和清洗。优选实施例中,所述对所述需清洗数据进行相似重复数据检测和清洗,包括:从所述需清洗数据的每条数据的属性中选定关键字;根据所述关键字的重要性,对所述需清洗数据进行排序;利用预定大小的滑动窗口,滑动采集所述需清洗数据并计算窗口内数据的相似度,检测出相似重复数据;对所述相似重复数据进行清洗。优选实施例中,所述对所述相似重复数据进行清洗的方式,包括:根据所述相似重复数据的更新时间,对所述相似重复数据进行排序并赋予不同的权值,时间越近所述权值越大;将多条重复数据合并为置信度最高的结果。优选实施例中,所述对所述需清洗数据进行错误值检测和清洗,包括:采用条件依赖函数定义的数据属性约束条件,检测所述需清洗数据的错误值,并对所述错误值进行修正。优选实施例中,所述所需组件包括:开源分布式存储系统、开源分布式资源管理框架、资源管理器、大规模并行查询引擎。优选实施例中,所述清洗规则库还包括合并清洗规则、缺失数据处理规则。优选实施例中,所述对所述需清洗数据进行格式化的方式,包括:数据归一化处理;利用非法字符替换方式将数据格式化和规范化。利用本申请实施例提供的一种用于大数据的数据清洗方法,首先,在大数据清洗前定义了数据清洗规则库,数据清洗结果符合规则库的定义。当业务需求、数据格式等发生改变时,只需要更改相应的清洗规则就可适用于新的数据要求。具有较强的通用性和适应性。其次,本专利技术使用开源分布式框架Spark进行数据清洗,Spark是基于内存的数据处理框架,因为在内存中存取数据的速度比在磁盘中存取速度要快,所以可以有效提高数据清洗效率。同时,由于建立了数据清洗规则库,按照固定的规则进行清洗,无需人为干预,减少了人工处理的时间,可以进一步提高数据清洗效率。另外,数据清洗模块相互独立,每个部分功能的修改与增加都不会影响到其他模块的运行,具有很好的扩展性。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请一个实施例提供的一种用于大数据的数据清洗方法的方法流程图;图2是本申请一个实施例提供的数据清洗的清洗流程图;图3是本申请一个实施例提供的数据清洗单元划分的结构示意图;图4是本申请一个实施例提供的所述采用树形清洗结构进行清洗的清洗结构示意图。具体实施方式本申请实施例提供一种用于大数据的数据清洗方法。为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。图1是本申请所述一种用于大数据的数据清洗方法一种实施例的方法流程示意图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如本文档来自技高网
...

【技术保护点】
1.一种用于大数据的数据清洗方法,其特征在于,所述方法包括:搭建Spark集群,配置所需组件;建立数据清洗规则库,所述数据清洗规则库至少包括业务规则;根据所述清洗规则库,对需清洗数据进行预处理,得到预处理后的需清洗数据;根据所述业务规则和所述待处理数据,进行Job划分,得到所述Spark集群的多个清洗Job,每一个所述清洗Job映射到具体的业务需求;将所述预处理后的需清洗数据的数据清洗任务,对应分配到所述Spark集群的多个清洗Job中,每个清洗Job按照所述数据清洗规则库的要求,对所述预处理后的需清洗数据采用树形清洗结构进行清洗,得到最终清洗结果。

【技术特征摘要】
1.一种用于大数据的数据清洗方法,其特征在于,所述方法包括:搭建Spark集群,配置所需组件;建立数据清洗规则库,所述数据清洗规则库至少包括业务规则;根据所述清洗规则库,对需清洗数据进行预处理,得到预处理后的需清洗数据;根据所述业务规则和所述待处理数据,进行Job划分,得到所述Spark集群的多个清洗Job,每一个所述清洗Job映射到具体的业务需求;将所述预处理后的需清洗数据的数据清洗任务,对应分配到所述Spark集群的多个清洗Job中,每个清洗Job按照所述数据清洗规则库的要求,对所述预处理后的需清洗数据采用树形清洗结构进行清洗,得到最终清洗结果。2.如权利要求1所述的一种用于大数据的数据清洗方法,其特征在于,所述对所述预处理后的需清洗数据采用树形清洗结构进行清洗,得到最终清洗结果的方式,包括:每个所述清洗Job按照所述数据清洗规则库,初步完成对应的数据清洗任务;所述多个清洗Job的数据清洗任务初步完成后,生成对应于每个清洗Job的不同数据表;若所述多个清洗Job的数据清洗任务初步完成后,得到的弹性分布式数据集无需再次清洗,则将所述弹性分布式数据集根据业务需求存储在所述不同数据表中,得到最终清洗结果;若所述多个清洗Job的数据清洗任务初步完成后,得到的弹性分布式数据集需要再次清洗,则将所述弹性分布式数据集再次分配到对应的清洗Job进行再次清洗,直至得到的新的弹性分布式数据集无需再次处理,则将所述新的弹性分布式数据集根据业务需求存储在所述不同数据表中,得到最终清洗结果。3.如权利要求1所述的一种用于大数据的数据清洗方法,其特征在于,所述根据所述清洗规则库,对需清洗数据进行预...

【专利技术属性】
技术研发人员:李阳左磊尹熙张良晖蔡劼桑晓龙陆世龙
申请(专利权)人:天聚地合苏州数据股份有限公司
类型:发明
国别省市:江苏,32

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

1