一种大数据处理方法及装置与流程

文档序号:11654430阅读:153来源:国知局
本发明涉及计算机
技术领域
:,特别是涉及一种大数据处理方法及装置。
背景技术
::随着计算机技术全面融入社会生活,信息爆炸已经积累到了一个开始引发变革的程度。21世纪是数据信息大发展的时代,移动互联网、电子商务、社交网络等极大拓展了互联网的边界和应用范围,各种数据正在迅速膨胀并变大。互联网、移动互联网、安全监控、金融等都在疯狂产生着数据。为了获取大数据中的价值,大数据分析技术应运而生,也催生了很多大数据分析系统,比如hadoop,spark,tez等。不同的大数据分析系统具备不同的特点,例如hadoop擅长批处理任务,spark擅长实时处理任务,不同的大数据分析系统都具有各自的应用范围。这些大数据分析系统都有各自的框架和开发者接口,不同的系统使用的开发语言不同。在解决一个具体的大数据分析问题时,用户可能会用到不同的系统,例如,使用hadoop和spark系统时,由于hadoop系统使用的是java语言,spark的框架使用的是scala语言,如果用户想要同时使用这些系统进行大数据分析,需要掌握不同的开发语言,同时需要了解各个系统的架构。由此可见,现有技术中,用户想要进行一个大数据分析时,需要掌握的开发技能较多,使用门槛高。技术实现要素:本发明实施例的目的在于提供一种大数据处理方法及装置,将待执行程序的操作任务转换为能在用户需求的大数据系统中执行的操作任务,以实现降低程序开发的复杂度和用户的使用门槛。具体技术方案如下:本发明提供了一种大数据处理方法,所述方法包括:获取待执行程序;根据所述待执行程序,确定所述待执行程序执行的第一操作任务;将所述第一操作任务转换为第二操作任务;所述第二操作任务为能在预先适配的大数据系统中执行的操作任务;所述预先适配的大数据系统为包含目标大数据系统在内的多个大数据系统;查找所述目标大数据系统;在所述目标大数据系统中执行所述第二操作任务。具体的,所述待执行程序是基于sql语言的待执行程序。具体的,所述根据所述待执行程序,确定所述待执行程序执行的第一操作任务,包括:将所述待执行程序中的字符序列转换成单词序列,得到第一解析结果;所述第一解析结果为所述待执行程序要执行的操作;根据所述第一解析结果,确定所述待执行程序执行的第一操作任务。具体的,所述将第一操作任务转换为第二操作任务,包括:将所述第一操作任务发送给具有统一接口的、预先适配的大数据系统,所述具有统一接口的、预先适配的大数据系统将所述第一操作任务,转换为能在所述目标大数据系统中执行的所述第二操作任务。具体的,所述查找所述目标大数据系统,包括:将所述第二操作任务进行词法解析,识别包含有所述目标大数据系统的语句,得到第二解析结果;根据所述第二解析结果,查找所述目标大数据系统。具体的,所述在所述目标大数据系统中执行所述第二操作任务之后,所述方法还包括:将在所述目标大数据系统中执行所述第二操作任务的结果存储在所述目标大数据系统中。本发明还提供了一种大数据处理装置,所述装置包括:获取模块,用于获取待执行程序;解析模块,用于确定所述待执行程序执行的第一操作任务;转换模块,用于将所述第一操作任务转换为第二操作任务;所述第二操作任务为能在预先适配的大数据系统中执行的操作任务;所述预先适配的大数据系统为包含目标大数据系统在内的多个大数据系统;查找模块,用于查找所述目标大数据系统;执行模块,用于在所述目标大数据系统中执行所述第二操作任务。具体的,所述获取模块,具体用于,获取基于sql语言的待执行程序。具体的,所述解析模块,包括:第一解析子模块,用于将所述待执行程序中的字符序列转换成单词序列,,得到第一解析结果;所述第一解析结果为所述待执行程序要执行的操作;第二解析子模块,用于根据所述第一解析结果,确定所述待执行程序执行的第一操作任务。具体的,所述转换模块,具体用于将所述第一操作任务发送给具有统一接口的、预先适配的大数据系统,所述具有统一接口的、预先适配的大数据系统将所述第一操作任务,转换为能在所述目标大数据系统中执行的所述第二操作任务。具体的,所述转换模块,包括:第一转换子模块,用于将所述第二操作任务进行语法解析,识别包含有所述目标大数据系统的语句,得到第二解析结果;第二转换子模块,用于根据所述第二解析结果,查找所述目标大数据系统。具体的,所述执行模块,具体用于,在所述目标大数据系统中执行所述第二操作任务之后,所述装置还包括:存储子模块,用于将在所述目标大数据系统中执行所述第二操作任务的结果存储在所述目标大数据系统中。本发明实施例提供的大数据处理方法及装置,将待执行程序的操作任务转换为能在用户需求的大数据系统中执行的操作任务,以实现降低程序开发的复杂度和用户的使用门槛。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例大数据处理方法的流程图;图2为本发明实施例确定待执行程序执行的第一操作任务的流程图;图3为本发明实施例查找目标大数据系统的流程图;图4为本发明实施例提供的一种系统执行框架图;图5为本发明实施例大数据处理装置的结构示意图;图6为本发明实施例解析模块的结构示意图;图7为本发明实施例转换模块的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。随着计算机技术全面融入社会生活,信息爆炸已经积累到了一个开始引发变革的程度。21世纪是数据信息大发展的时代,移动互联网、电子商务、社交网络等极大拓展了互联网的边界和应用范围,各种数据正在迅速膨胀并变大。互联网、移动互联网、安全监控、金融等都在疯狂产生着数据。为了获取大数据中的价值,大数据分析技术应运而生,也催生了很多大数据分析系统,比如hadoop,spark,tez等。不同的大数据分析系统具备不同的特点,例如hadoop擅长批处理任务,spark擅长实时处理任务,不同的大数据分析系统都具有各自的应用范围。这些大数据分析系统都有各自的框架和开发者接口,不同的系统使用的开发语言不同。在解决一个具体的大数据分析问题时,用户可能会用到不同的系统,例如,使用hadoop和spark系统时,由于hadoop系统使用的是java语言,spark的框架使用的是scala语言,如果用户想要同时使用这些系统进行大数据分析,需要掌握不同的开发语言,同时需要了解各个系统的架构。由此可见,现有技术中,用户想要进行一个大数据分析时,需要掌握的开发技能较多,使用门槛高。为了降低用户的使用门槛和大数据开发的复杂度,本发明提供了一种大数据处理方法及装置,以下分别进行详细说明。图1为本发明实施例大数据处理方法的流程图,参照图1对本发明大数据处理方法进行详细说明,具体包括如下步骤:步骤101,获取待执行程序;获取一段待执行程序,其中,待执行程序包含有未解析的大数据系统所要执行的操作;步骤102,根据待执行程序,确定待执行程序执行的第一操作任务;针对获取得到的待执行程序,解析待执行程序所要执行的操作任务,解析结果为第一操作任务。步骤103,将第一操作任务转换为第二操作任务;第二操作任务为能在预先适配的大数据系统中执行的操作任务;预先适配的大数据系统为包含目标大数据系统在内的多个大数据系统;将第一操作任务转换为能在预先适配的大数据系统中执行的第二操作任务,预先适配的大数据系统是一个包含有多个大数据系统在内的系统框架,通过预先适配的大数据系统框架,可以进入到不同的大数据系统中,根据第二操作任务进入到用户需求的目标大数据系统中。步骤104,查找目标大数据系统;根据第二操作任务中的执行任务,查找目标大数据系统,第二操作任务除了包含待执行程序要执行的操作以外,还包含待执行程序请求的执行环境,即目标大数据系统。步骤105,在目标大数据系统中执行第二操作任务;查找到所需的目标大数据系统后,根据第二操作任务的内容在目标大数据系统中执行操作,完成大数据处理任务。本发明实施例提供的大数据处理方法,将待执行程序的操作任务转换为能在用户需求的大数据系统中执行的操作任务,以实现降低程序开发的复杂度和用户的使用门槛,其中,用户需求的大数据系统在已经适配的大数据系统中。本发明将获取的待执行程序解析成可在用户需求的大数据系统、即目标大数据系统中执行的操作任务,完成对大数据的处理,大数据系统的运维人员,不需要针对不同大数据系统提供不同的接口,就能实现大数据处理任务,大大降低了开发的复杂度,用户更容易操作。具体的,待执行程序是基于sql语言的待执行程序;大数据分析中,需要应用的主要功能是对数据的提取、转换等操作,基本上是基于数据库表操作,这些操作可以使用sql语言进行操作,由于sql语言的理论基础是关系代数,用户使用比较简单,所以很多大数据分析引擎提供了sql接口,本发明实施例的待执行程序的优选方法是采取基于sql语言的程序,举例说明如下:sql语言编程简单例子:1selectk,v,dfromtable1;2project[k,v,d];3relation[k,v,d,other]table1;4scantable1withfields[k,v,d];5sparkinterface.scan(“table1”)withfields[k,v,d];这段代码的意思是,从表table1中选出k,v,d三列的值,将这个操作投影建一个工程project,扫描表table1,并取出k,v,d三列的值,第5行程序的意思为使用spark系统作为底层执行的大数据系统,就在spark系统扫描表table1,并取出k,v,d三列的值,并将提取结果提交到spark系统的集群中;如果要使用tez系统作为底层执行的大数据系统,则第5行程序代码变为tezinterface.scan(“table1”)withfields[k,v,d],就在tez系统扫描表table1,并取出k,v,d三列的值,并将提取结果提交到tez系统的集群中。本发明实施例优先使用基于sql语言的程序,简单易懂,不需要掌握相应系统的语言。当然,本发明实施例也可以使用其他语言,例如java、scala等,同样可以达到相同的效果,但是会对用户的开发能力有一定要求。根据待执行程序,确定待执行程序执行的第一操作任务,具体步骤如图2所示,包括:步骤201,将待执行程序中的字符序列转换成单词序列,得到第一解析结果;步骤202,根据第一解析结果,确定待执行程序执行的第一操作任务。第一解析结果为待执行程序要执行的操作,将待执行程序进行词法解析,词法解析是将待执行程序语言中的字符序列转换成单词序列,包括关键字、字符串、标识符、运算符、注释行的定义,确定待执行程序要进行的操作,例如,上述提供的sql语言编程简单例子中,计算机读取到这段代码的意思是,从表table1中选出k,v,d三列的值,确定待执行程序的第一操作任务,也就是说,这是一个词法解析,第一解析结果的内容就是第一操作任务。具体的,将第一操作任务转换为第二操作任务,包括:将第一操作任务发送给具有统一接口的、预先适配的大数据系统,具有统一接口的、预先适配的大数据系统将第一操作任务,转换为能在目标大数据系统中执行的第二操作任务。本发明实施例提供的大数据处理方法,通过预先适配的大数据系统,其中包含有处理大数据技术问题的目标大数据系统,预先适配的大数据系统包含有多个大数据系统,在处理一个大数据问题时,可能需要用到多个大数据系统,本发明实施例在预先适配的大数据系统之上,提供了一个统一的接口,通过这个接口,在目标大数据系统中执行命令。统一的接口,以便用户需要在多个大数据系统中操作时,实现灵活切换。具体的,查找目标大数据系统的过程如图3所示,包括如下步骤:步骤301,将第二操作任务进行语法解析,识别包含有所述目标大数据系统的语句,得到第二解析结果;步骤302,根据第二解析结果,查找目标大数据系统。语法解析是基于词法解析规则,识别出待执行程序的特定语句,根据步骤202得到的第二操作任务,将第二操作任务进行语法解析,解析后得到第二解析结果,第二解析结果中包含有待执行命令的目标大数据系统。图4为本发明实施例提供的一种系统执行框架图,将上述图2和图3结合,以目标大数据系统为例进行说明。步骤401,获取待执行程序;步骤402,对待执行程序进行解析;步骤403,在目标大数据系统中执行。在获取到待执行程序后,分别对待执行程序进行词法解析和语法解析,解析结果为获得待执行程序要执行的操作和执行操作的目标大数据系统,目标大数据系统在预先适配的大数据系统中,在目标大数据系统中执行待执行程序的执行操作,完成大数据的处理。在目标大数据系统中执行第二操作任务之后,具体还包括:将在目标大数据系统中执行第二操作任务的结果存储在目标大数据系统中。当在目标大数据系统中执行第二操作任务以后,目标大数据系统会存储该执行结果,并将该执行结果提交在执行大数据系统的集群中,以便后续对结果进行管理。将执行结果存储在目标大数据系统的优点是,当计算机再次接收相同的执行命令时,例如,从表table1中选出k,v,d三列的值时,计算机可以直接在目标大数据系统读取该执行结果,存储执行结果可以在分析同一个大数据问题时,提高工作效率。本发明实施例提供的大数据处理方法,将待执行程序的操作任务转换为能在用户需求的大数据系统中执行的操作任务,以实现降低程序开发的复杂度和用户的使用门槛,其中,用户需求的大数据系统在已经适配的大数据系统中。本发明将获取的待执行程序优先采用sql语言,由于sql语言简单易懂,作为接口,连接到不同的大数据系统中,进一步降低了用户的使用门槛,将待执行程序解析成可在用户需求的大数据系统、即目标大数据系统中执行的操作任务,完成对大数据的处理;将执行结果存储在目标大数据系统中,可以在分析同一个大数据问题时,直接读取结果,提高工作效率。本发明实施例提供的大数据处理方法,不需要针对不同大数据系统提供不同的接口,就能处理大数据任务,大大降低了开发的复杂度,用户更容易操作。本发明还提供了一种大数据处理装置,图5为本发明实施例大数据处理装置的结构示意图,包括:获取模块501,用于获取待执行程序;解析模块502,用于确定待执行程序执行的第一操作任务;转换模块503,用于将第一操作任务转换为第二操作任务;第二操作任务为能在预先适配的大数据系统中执行的操作任务;预先适配的大数据系统为包含目标大数据系统在内的多个大数据系统;查找模块504,用于查找目标大数据系统;执行模块505,用于在目标大数据系统中执行第二操作任务。本发明实施例提供的大数据处理装置,将待执行程序的操作任务转换为能在用户需求的大数据系统中执行的操作任务,以实现降低程序开发的复杂度和用户的使用门槛,其中,用户需求的大数据系统在已经适配的大数据系统中。本发明将获取的待执行程序解析成可在用户需求的大数据系统、即目标大数据系统中执行的操作任务,完成对大数据的处理,大数据系统的运维人员,不需要针对不同的大数据系统提供不同的接口,就能实现大数据处理任务,大大降低了开发的复杂度,用户更容易操作。具体的,获取模块501,用于获取基于sql语言的待执行程序。具体的,解析模块502的装置结构示意图如图6所示,包括:第一解析子模块601,用于将待执行程序中的字符序列转换成单词序列,得到第一解析结果;所述第一解析结果为所述待执行程序要执行的操作;第二解析子模块602,用于根据第一解析结果,确定待执行程序执行的第一操作任务。转换模块503,具体用于将第一操作任务发送给具有统一接口的、预先适配的大数据系统,所述具有统一接口的、预先适配的大数据系统将第一操作任务,转换为能在目标大数据系统中执行的第二操作任务。具体的,转换模块503的装置结构示意图如图7所示,包括:第一转换子模块701,用于将第二操作任务进行语法解析,识别包含有所述目标大数据系统的语句,得到第二解析结果;第二转换子模块702,用于根据第二解析结果,查找目标大数据系统。具体的,执行模块505,用于在目标大数据系统中执行第二操作任务之后,还包括:存储子模块,用于将在目标大数据系统中执行第二操作任务的结果存储在目标大数据系统中。需要说明的是,本发明实施例的装置是应用上述大数据处理方法的装置,则上述大数据处理方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1