基于Spark的数据处理方法及装置制造方法及图纸

技术编号:11138271 阅读:132 留言:0更新日期:2015-03-12 16:58
本发明专利技术公开了一种基于Spark的数据处理方法及装置。其中,该方法包括:获取待处理数据;提取待处理数据的特征标识,其中,特征标识用于标识待处理数据的文件类型;根据特征标识将待处理数据写入与特征标识对应的目标文件中。本发明专利技术解决了由于采用现有的数据处理方式所导致的数据处理效率降低的技术问题。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体而言,涉及一种基于Spark的数据处理方法及装置
技术介绍
目前,为了记录用户每天的操作,系统通常会保存用户的操作日志,在对日志的处理过程中,输入的日志数据可能是一个小时的日志文件,也可能是多天的日志文件,其中,由于日志文件数据量庞大,通常需要采用计算机集群并行处理。目前最流行的并行运算框架是Spark,采用统一的RDD数据结构进行数据处理。但是在官方应用程序编程接口(Application Programming Interface,API)中,一个RDD数据结构只能生成一种文件输出,无法直接输出多种文件的方案。然而,输入的日志文件中每一行日志行集合解析后得到的数据ParsedObject,都有可能属于不同数据结构,譬如页面浏览PageView,鼠标点击MouseClick等等。为了后续数据分析,每种数据结构都需要单独存储。目前,官方API中没有提供直接的多输出方案,只能采用过滤器,譬如需要PageView的数据类型,则采用一个判断PageView类型的过滤器,将符合该类型的所有数据过滤到一个子集合RDD[PageView]中,再将RDD[PageView]输出为文件。然而,这就需要对所有数据进行多次遍历,从而导致数据处理速度大幅降低。进一步,由于需要对日志数据多次遍历,所以数据集合RDD[ParsedObject]还需要缓存,这将占据大量内存空间;如果内存不够,还需要将数据序列化到硬盘以及反序列化到内存,从而导致在占用大量存储空间的同时还耗费大量时间,严重影响了数据处理的效率。针对相关技术中的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术的主要目的在于提供一种基于Spark的数据处理方法及装置,以解决由于采用现有的数据处理方式所导致的数据处理效率降低问题。根据本专利技术的一个方面,提供了一种基于Spark的数据处理方法,该方法包括:获取待处理数据;提取上述待处理数据的特征标识,其中,上述特征标识用于标识上述待处理数据的文件类型;根据上述特征标识将上述待处理数据写入与上述特征标识对应的目标文件中。可选地,上述提取上述待处理数据的特征标识包括:提取上述待处理数据的数据结构类型及上述待处理数据的时间标识;利用上述数据结构类型及上述时间标识构造上述特征标识。可选地,在上述根据上述特征标识将上述待处理数据写入与上述特征标识对应的目标文件中之前,还包括:根据上述特征标识将上述待处理数据分配到与上述特征标识对应的数据分区中,其中,具有相同特征标识的上述待处理数据将分配到同一个上述数据分区中。可选地,上述根据上述特征标识将上述待处理数据分配到与上述特征标识对应的数据分区中包括:计算上述特征标识的哈希值;根据上述哈希值与上述数据分区的个数的取余结果,将上述特征标识对应的上述待处理数据分配到对应的上述数据分区中。可选地,上述根据上述特征标识将上述待处理数据写入与上述特征标识对应的目标文件中包括:根据上述特征标识将上述数据分区中的上述待处理数据写入对应的上述目标文件中。根据本专利技术的另一方面,提供了一种基于Spark的数据处理装置,该装置包括:获取单元,用于获取待处理数据;提取单元,用于提取上述待处理数据的特征标识,其中,上述特征标识用于标识上述待处理数据的文件类型;处理单元,用于根据上述特征标识将上述待处理数据写入与上述特征标识对应的目标文件中。可选地,上述提取单元包括:提取模块,用于提取上述待处理数据的数据结构类型及上述待处理数据的时间标识;构造模块,用于利用上述数据结构类型及上述时间标识构造上述特征标识。可选地,上述装置还包括:分配单元,用于在上述根据上述特征标识将上述待处理数据写入与上述特征标识对应的目标文件中之前,根据上述特征标识将上述待处理数据分配到与上述特征标识对应的数据分区中,其中,具有相同特征标识的上述待处理数据将分配到同一个上述数据分区中。可选地,上述分配单元包括:计算模块,用于计算上述特征标识的哈希值;分配模块,用于根据上述哈希值与上述数据分区的个数的取余结果,将上述特征标识对应的上述待处理数据分配到对应的上述数据分区中。可选地,上述处理单元包括:处理模块,用于根据上述特征标识将上述数据分区中的上述待处理数据写入对应的上述目标文件中。通过本申请提供的实施例,通过利用特征标识对获取到的待处理数据直接进行分类写入处理,而无需多次重复遍历待处理数据,在一次数据遍历后即可将待处理数据写入到对应的目标文件中,从而克服了现有技术中需要利用各种过滤器遍历所有数据所导致的数据处理效率较低的问题,进而达到节省数据处理时间,提高数据处理效率的效果。进一步,由于利用特征标识直接写入待处理数据,从而无需再缓存全部数据,进而达到了节省存储空间的目的。附图说明构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的一种可选的基于Spark的数据处理方法的流程图;图2是根据本专利技术实施例的一种可选的基于Spark的数据处理结果的示意图;以及图3是根据本专利技术实施例的一种可选的基于Spark的数据处理装置的示意图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。实施例1根据本专利技术实施例,提供了一种基于Spark的数据处理方法,如图1所示,该方法包括:S102,获取待处理数据;S104,提取待处理数据的特征标识,其中,特征标识用于标识待处理数据的文件类型;S106,根据特征标识将待处理数据写入与特征标识对应的目标文件中。可选地,在本实施例中,上述基于Spark的数据处理方法可以但不限于应用于日志数据的写入过程中,例如,上述待处理数据为将日志文件解析后得到的日志数据,从中提取该日志数据的特征标识,根据该特征标识将日志数据写入到对应的文件中,以使具有相同特征标识的日志数据保存到同一文件中。也就是说,通过利用特征标识对日志数据直接进行分类写入处理,无需多次重复遍历日志数据,在一次数据遍历后即可将日志数据写入到分类后对应的文件中,从而克服了现有技术中需要利用各种过滤器遍历所有日志数据中的每一条数据,在确定所有日志数据的类型后,再将日志数据写入对应的文件所导致的数据处理效率较低的问题,进而达到节省数据处理时间,提高数本文档来自技高网
...
基于Spark的数据处理方法及装置

【技术保护点】
一种基于Spark的数据处理方法,其特征在于,包括:获取待处理数据;提取所述待处理数据的特征标识,其中,所述特征标识用于标识所述待处理数据的文件类型;根据所述特征标识将所述待处理数据写入与所述特征标识对应的目标文件中。

【技术特征摘要】
1.一种基于Spark的数据处理方法,其特征在于,包括:
获取待处理数据;
提取所述待处理数据的特征标识,其中,所述特征标识用于标识所述待处理
数据的文件类型;
根据所述特征标识将所述待处理数据写入与所述特征标识对应的目标文件
中。
2.根据权利要求1所述的方法,其特征在于,所述提取所述待处理数据的特征标识
包括:
提取所述待处理数据的数据结构类型及所述待处理数据的时间标识;
利用所述数据结构类型及所述时间标识构造所述特征标识。
3.根据权利要求1所述的方法,其特征在于,在所述根据所述特征标识将所述待处
理数据写入与所述特征标识对应的目标文件中之前,还包括:
根据所述特征标识将所述待处理数据分配到与所述特征标识对应的数据分区
中,其中,具有相同特征标识的所述待处理数据将分配到同一个所述数据分区中。
4.根据权利要求3所述的方法,其特征在于,所述根据所述特征标识将所述待处理
数据分配到与所述特征标识对应的数据分区中包括:
计算所述特征标识的哈希值;
根据所述哈希值与所述数据分区的个数的取余结果,将所述特征标识对应的
所述待处理数据分配到对应的所述数据分区中。
5.根据权利要求3所述的方法,其特征在于,所述根据所述特征标识将所述待处理
数据写入与所述特征标识对应的目标文件中包括:
根据所述特征标识将所述数据分区中的所述待处理数据写入对应的所述目标
文件中...

【专利技术属性】
技术研发人员:饶峰云
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

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

1