大数据清洗方法及装置与流程

文档序号:12364349阅读:1670来源:国知局
大数据清洗方法及装置与流程

本发明涉及大数据整理技术领域,具体而言,涉及一种大数据清洗方法及装置。



背景技术:

随着大数据时代的到来,数据的规模变得庞大,数据的增长速度变快,数据的类型和结构也更加繁多。如何能把大数据变成有用的数据,如何能从庞大的数据中挖掘其中的价值变得越来越迫切和重要。

数据清洗就是其中首要的工作,通过数据清洗能够实现对大数据进行降噪,主要是将不完整的数据、错误的数据和重复的数据进行排除,从而得到一致性较高的数据。

现有的数据清洗技术中,清洗程序大部分是单机程序,清洗速度和清洗效率较低。其在一定的数据量级下,能够通过计算机技术实现自动数据清洗。但在大数据时代,随着数据量和数据类型的增加,现有的数据清洗技术已经难以满足当前数据清洗的需求。



技术实现要素:

有鉴于此,本发明的目的在于提供一种大数据清洗方法及装置,能够显著提高数据清洗的清洗速度和清洗效率。

第一方面,本发明实施例提供了一种大数据清洗方法,包括:

对清洗流程进行配置定义;

对清洗流程进行解析,将清洗流程转换为Spark的原子操作;

将清洗任务提交至Spark集群;

由Spark集群进行数据清洗。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述由Spark集群进行数据清洗,具体包括:

从数据源加载数据;

利用分布式并行的清洗算法,对数据进行清洗;

对数据清洗的结果进行存储。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述清洗算法包括空值处理、去重处理和排序处理中的至少一种。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,多个清洗算法之间的数据流转通过弹性分布式数据集传递。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述数据源为数据库或分布式文件系统。

结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述对清洗流程进行配置定义,具体为:

基于JSON格式,对清洗流程进行配置定义。

第二方面,本发明实施例还提供一种大数据清洗装置,包括:

大数据清洗引擎,用于对清洗流程进行配置定义;对清洗流程进行解析,将清洗流程转换为Spark的原子操作;将清洗任务提交至Spark集群;

Spark集群,用于进行数据清洗。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述Spark集群具体用于:

从数据源加载数据;

利用分布式并行的清洗算法,对数据进行清洗;

对数据清洗的结果进行存储。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,该装置还包括存储组件,用于存储数据清洗的结果。

结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述清洗算法包括空值处理、去重处理和排序处理中的至少一种。

本发明实施例带来了以下有益效果:采用本发明实施例提供的大数据清洗方法及清洗装置,先对清洗流程进行配置定义,再对清洗流程进行解析并转换为Spark的原子操作。将清洗任务提交至大数据分析框架Spark集群后,由Spark集群进行数据清洗,因为每个清洗流程中的每个步骤都已转换为Spark的原子操作,所以在Spark集群中进行的各个清洗步骤均可以分布式并行执行,从而能够显著提高数据清洗的清洗速度,实现高速度和高效率的数据清洗,更加适用于当前的大数据环境。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例一所提供的一种大数据清洗方法的流程图;

图2示出了本发明实施例二所提供的一种大数据清洗装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前的数据清洗技术中,清洗程序大部分是单机程序,清洗速度和清洗效率较低,难以满足当前大数据环境下数据清洗的需求。

基于此,本发明实施例提供的一种大数据清洗方法及装置,能够显著提高数据清洗的清洗速度,实现高速度和高效率的数据清洗,更加适用于当前的大数据环境。

实施例一:

如图1所示,本发明实施例提供一种大数据清洗方法,主要包括以下步骤:

S1:对清洗流程进行配置定义。

具体的,启动数据清洗引擎,首先加载清洗流程配置文件,基于JSON(Java Script Object Notation)格式,对清洗流程进行配置定义,配置项示例如下:

JSON是一种轻量级的数据交换格式,是基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,使JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,在跨平台数据传输上有很大的优势。

S2:对清洗流程进行解析,将清洗流程转换为Spark的原子操作。

大数据清洗引擎根据配置文件的定义信息对清洗流程进行解析,将清洗步骤转换为Spark的原子操作。

Spark是云计算领域的继Hadoop之后的最热门的通用的并行计算框架,是一种可伸缩(scalable)的基于内存计算(In-Memory Computing)的集群数据分析平台,比Hadoop集群存储方法更有性能优势。Spark基于内存的分布式数据集,优化了迭代式的工作负载以及交互式查询,从而提高了大数据计算的速度和效率。

S3:将清洗任务提交至Spark集群。

首先初始化Spark集群,加载Spark上下文环境,为清洗操作提交做准备。然后根据清洗流程定义的顺序,将具体的数据清洗操作提交至Spark集群。

S4:由Spark集群进行数据清洗。

S41:从数据源加载数据。

数据源可以是不同类型的数据来源,本实施例中的数据源为数据库或分布式文件系统(Hadoop Distributed File System,简称HDFS)。

在其他实施方式中,也可以根据具体的业务进行扩展,扩展数据源类型只需要相应的增加数据加载原子处理即可,数据源的加载过程也是分布式并行处理。

S42:利用分布式并行的清洗算法,对数据进行清洗。

本实施例中例举了三种清洗算法:空值处理、去重处理和排序处理。

作为一个优选方案,多个清洗算法之间的数据流转通过弹性分布式数据集(Resilient Distributed Datasets,简称RDD)传递。因为Spark集群建立在统一抽象的RDD之上,所以使得Spark集群可以以基本一致的方式应对不同的大数据处理场景,包括MapReduce、Streaming、SQL、Machine Learning、Graph等。RDD是一个容错的、并行的数据结构,可以让用户显式地将数据存储到磁盘和内存中,并能控制数据的分区。同时,RDD还提供了一组丰富的操作来操作这些数据,诸如map、flatMap、filter、join、groupBy、reduceByKey等。

本实施例中例举了三种清洗算法:空值处理、去重处理和排序处理。在其他实施方式中,清洗算法并不限于以上三种,可以根据实际业务需求进行扩展。新增算法只要新增一个方法即可,同时在配置定义中进行指定就可应用。

S43:对数据清洗的结果进行存储。

启动数据存储引擎,也就是启动对清洗的结果数据进行存储的程序。数据存储引擎根据配置定义中的结果定义选择要存储的方式,本实施例中可以通过数据库或者HDFS存储结果。在其他实施方式中,可以进行扩展其他存储方式。

本发明实施例提供的大数据清洗方法中,先对清洗流程进行配置定义,再对清洗流程进行解析并转换为Spark的原子操作。将清洗任务提交至大数据分析框架Spark集群后,由开源的Spark集群进行数据清洗,最后将数据清洗的结果进行存储。因为每个清洗流程中的每个步骤都已转换为Spark的原子操作,所以在Spark集群中进行的各个清洗步骤均可以分布式并行执行,从而能够显著提高数据清洗的清洗速度,实现高速度和高效率的数据清洗,更加适用于当前的大数据环境。

此外,Spark集群可以很好的支持扩展,基于配置的方式进行清洗流程定义可以降低程序的耦合性,增加或者删除相应的清洗算法都可以在最小的改动下实现。

实施例二:

如图2所示,本发明实施例提供一种大数据清洗装置,包括大数据清洗引擎1和Spark集群2。

其中,大数据清洗引擎1用于对清洗流程进行配置定义,并对清洗流程进行解析,将清洗流程转换为Spark的原子操作,以及将清洗任务提交至Spark集群;Spark集群2用于进行数据清洗。

具体的,大数据清洗引擎1启动后,首先加载清洗流程配置文件,基于JSON格式,对清洗流程进行配置定义。然后大数据清洗引擎1根据配置文件的定义信息对清洗流程进行解析,将清洗步骤转换为Spark的原子操作。

Spark集群2初始化之后,大数据清洗引擎1根据清洗流程定义的顺序,将具体的数据清洗操作提交至Spark集群。

Spark集群2接收到数据清洗操作后,先从数据源4加载数据。数据源4可以是不同类型的数据来源,本实施例中的数据源4包括数据库或HDFS。在其他实施方式中,也可以根据具体的业务进行扩展,扩展数据源类型只需要相应的增加数据加载原子处理即可,数据源的加载过程也是分布式并行处理。

然后Spark集群2利用分布式并行的清洗算法,对数据进行清洗。本实施例中的清洗算法包括空值处理、去重处理和排序处理。在其他实施方式中,清洗算法并不限于以上三种,可以根据实际业务需求进行扩展。新增算法只要新增一个方法即可,同时在配置定义中进行指定就可应用。

作为一个优选方案,多个清洗算法之间的数据流转通过RDD传递。因为Spark集群建立在统一抽象的RDD之上,所以使得Spark集群可以以基本一致的方式应对不同的大数据处理场景,包括MapReduce、Streaming、SQL、Machine Learning、Graph等。RDD是一个容错的、并行的数据结构,可以让用户显式地将数据存储到磁盘和内存中,并能控制数据的分区。同时,RDD还提供了一组丰富的操作来操作这些数据,诸如map、flatMap、filter、join、groupBy、reduceByKey等。

最后,Spark集群2启动数据存储引擎,对数据清洗的结果进行存储。本发明实施例提供的大数据清洗装置还包括存储组件3,用于存储数据清洗的结果。

数据存储引擎根据配置定义中的结果定义选择要存储的方式,本实施例中可以通过数据库或者HDFS存储结果。在其他实施方式中,可以进行扩展其他存储方式。

本发明实施例提供的大数据清洗装置中,由大数据清洗引擎1对清洗流程进行配置定义,再对清洗流程进行解析并转换为Spark的原子操作。将清洗任务提交至大数据分析框架Spark集群2后,由开源的Spark集群2进行数据清洗,最后将数据清洗的结果存储至存储组件3。因为每个清洗流程中的每个步骤都已转换为Spark的原子操作,所以在Spark集群2中进行的各个清洗步骤均可以分布式并行执行,从而能够显著提高数据清洗的清洗速度,实现高速度和高效率的数据清洗,更加适用于当前的大数据环境。

此外,Spark集群2可以很好的支持扩展,基于配置的方式进行清洗流程定义可以降低程序的耦合性,增加或者删除相应的清洗算法都可以在最小的改动下实现。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1