一种提高基于Hadoop大数据综合查询引擎效率的方法及系统技术方案

技术编号:20545986 阅读:22 留言:0更新日期:2019-03-09 18:55
本发明专利技术公开了一种提高基于Hadoop大数据综合查询引擎效率的方法及系统,其利用各计算引擎的优势和通过技术手段避开各引擎的劣势而达到大数据查询效率提升的效果;在实时流处理需要的接口中,本发明专利技术切换引擎到Spark,再处理任务结束需要切换至批处理的任务,大大减轻新计算引擎对之前的计算引擎的排斥性影响,降低开发人员的业务代码重构,尤其是涉及在老的计算引擎上的复杂业务计算。本发明专利技术计算引擎的智能切换,提高了大数据综合查询效率,提高业务场景的适应能力。

A Method and System for Improving the Efficiency of Hadoop-based Large Data Comprehensive Query Engine

The invention discloses a method and system for improving the efficiency of Hadoop-based large data comprehensive query engine, which utilizes the advantages of each computing engine and avoids the disadvantages of each engine by technical means to achieve the effect of improving the efficiency of large data query; in the interface needed for real-time stream processing, the invention switches the engine to Spark, and then processes tasks that need to be switched to batch processing when the task ends. It greatly reduces the exclusive effect of the new computing engine on the previous computing engine, and reduces the business code refactoring of developers, especially the complex business computing on the old computing engine. The intelligent switching of the computing engine of the invention improves the efficiency of large data comprehensive query and the adaptability of business scenarios.

【技术实现步骤摘要】
一种提高基于Hadoop大数据综合查询引擎效率的方法及系统
本专利技术属于搜索引擎
,具体涉及一种提高基于Hadoop大数据综合查询引擎效率的方法及系统。
技术介绍
随着互联网的迅猛发展,人们已经越来越依赖网络来获取信息,搜索引擎的出现在人们与海量网络信息之间架起了一道桥梁;然而,随着网络用户的激增和网络信息呈指数性增长,网络流量急增,传统的集中式搜索引擎出现了瓶颈。以Internet上产生的数据为例,在Facebook公司,每天处理的新数据量超过20TB,随着Facebook用户的不断增加以后要处理的数据会变的更加庞大,面对着如此海量传统的存储数据,分布式存储正是为解决这些问题。Hadoop是一种由Apache软件基金会所开发的分布式系统基础架构,实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS,用户可以在不了解分布式底层细节的情况下开发分布式程序,充分利用集群的威力进行高速运算和存储。目前基于Hadoop的大数据生态圈越来越繁荣,尤其是查询计算引擎的不断的更新迭代,针对不同场景和业务下的计算引擎出现许多的差异,导致各种计算的优势无法在一个平台和多种业务下融合应用。例如MapReduce,是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算,Map(映射)和Reduce(归纳)的概念是其主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性;MapReduce极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上,其编程模型实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归纳)函数,用来保证所有映射的键值对中的每一个共享相同的键组。但MapReduce只适合批处理,对于传统业务尤其是批量的离线业务,MapReduce无法满足OLTP(On-LineTransactionProcessing,联机事务处理过程)的业务计算需求,这个时候需要新的计算引擎的出现,提高计算性能、例如Tez、Spark等的出现;Tez是Apache最新的支持DAG(DatabaseAvailabilityGroup,数据库可用性组)作业的开源计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升DAG作业的性能;Spark作为Apache顶级的开源项目,是一个快速、通用的大规模数据处理引擎,与Hadoop的MapReduce计算框架类似,但是相对于MapReduce,Spark凭借其可伸缩、基于内存计算等特点以及可以直接读写Hadoop上任何格式数据的优势,进行批处理时更加高效,并有更低的延迟;这些有用的不同之处使Spark在某些工作负载方面表现得更加优越,换句话说,Spark启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。但如何发挥各自的优势,提高综合查询计算效率,这个需要根据具体的业务需求来进行智能选择,达到提高大数据综合查询的效率。
技术实现思路
鉴于上述,本专利技术提供了一种提高基于Hadoop大数据综合查询引擎效率的方法及系统,其采用计算智能选择的方式发挥大数据计算的综合效能,利用各计算引擎的优势和通过技术手段避开各引擎的劣势,从而达到大数据查询效率提升的效果。一种提高基于Hadoop大数据综合查询引擎效率的方法,包括如下步骤:(1)在Hadoop分布式服务器集群中对MapReduce、Tez、Spark三种计算引擎进行部署及测试;(2)通过互联网与用户交互,获取用户提交的数据查询任务;(3)根据任务的具体要求智能选择MapReduce、Tez或Spark来执行所述数据查询任务,并将执行后生成的任务结果重新整理汇总给业务端数据库后通过可视化配置使结果显示反馈给用户。进一步地,所述步骤(1)的具体实现过程如下:1.1部署基于Hadoop的大数据分布式服务器集群,服务器中必须包含MapReduce、Tez、Spark三种计算引擎;1.2分别对MapReduce、Tez、Spark三种计算引擎进行测试,保证各引擎运行状况正常;1.3在YARN(YetAnotherResourceNegotiator,另一种资源协调者)中增加MapReduce、Tez、Spark各自的调用接口。进一步地,所述步骤(3)中对于任务结果延时要求较低、业务已经按照MapReduce设计的且计算量较大的数据查询任务选择MapReduce引擎来执行。进一步地,所述步骤(3)中对于任务结果延时要求高、业务没有按照MapReduce设计的且计算量较大的数据查询任务选择Spark引擎来执行。进一步地,所述步骤(3)中对于任务结果延时要求较高、业务没有按照MapReduce设计的且计算量较小的数据查询任务选择Tez引擎来执行。进一步地,所述步骤(3)中当数据查询任务执行完成后,按照业务需要通过Spark将任务结果整理汇总给业务端数据库。一种提高基于Hadoop大数据综合查询引擎效率的系统,包括:获取模块,用于通过互联网获取用户提交的数据查询任务;引擎智选模块,用于根据任务的具体要求调用YARN中的MapReduce、Tez或Spark接口将任务提交至Hadoop分布式服务器集群中对应的计算引擎来执行;汇总反馈模块,用于将执行生成的任务结果重新整理汇总给业务端数据库;可视化显示模块,用于从业务端数据库中将任务结果通过可视化配置后显示反馈给用户。进一步地,所述引擎智选模块对于任务结果延时要求较低、业务已经按照MapReduce设计的且计算量较大的数据查询任务选择MapReduce接口提交执行。进一步地,所述引擎智选模块对于任务结果延时要求高、业务没有按照MapReduce设计的且计算量较大的数据查询任务选择Spark接口提交执行。进一步地,所述引擎智选模块对于任务结果延时要求较高、业务没有按照MapReduce设计的且计算量较小的数据查询任务选择Tez接口提交执行。本专利技术利用各计算引擎的优势和通过技术手段避开各引擎的劣势而达到大数据查询效率提升的效果;在实时流处理需要的接口中,本专利技术切换引擎到Spark,再处理任务结束需要切换至批处理的任务,大大减轻新计算引擎对之前的计算引擎的排斥性影响,降低开发人员的业务代码重构,尤其是涉及在老的计算引擎上的复杂业务计算。本专利技术计算引擎的智能切换,提高了大数据综合查询效率,提高业务场景的适应能力。附图说明图1为本专利技术综合计算引擎的系统架构示意图。图2为本专利技术引擎智选的逻辑实现框图。具体实施方式为了更为具体地描述本专利技术,下面结合附图及具体实施方式对本专利技术的技术方案进行详细说明。随着大数据技术发展迅速,大数据的计算引擎层出不穷,最具有代表性包括MapReduce、Tez、Spark等,这些计算引擎各自优势明显,但为了兼容已有的计算引擎,本专利技术采用计算智能选择的方式发挥大数据计算的综合效能。如图1所示,本专利技术的总体技术方案如下:首先,部署基于Hadoop的大数据的服务器集群,组件必须包括MapReduce、Tez、Spark等计算引擎;然后,分别测试MapReduce、Tez、Spark的计算运行状况是否正常;进而,在YARN的调度中增加M本文档来自技高网
...

【技术保护点】
1.一种提高基于Hadoop大数据综合查询引擎效率的方法,包括如下步骤:(1)在Hadoop分布式服务器集群中对MapReduce、Tez、Spark三种计算引擎进行部署及测试;(2)通过互联网与用户交互,获取用户提交的数据查询任务;(3)根据任务的具体要求智能选择MapReduce、Tez或Spark来执行所述数据查询任务,并将执行后生成的任务结果重新整理汇总给业务端数据库后通过可视化配置使结果显示反馈给用户。

【技术特征摘要】
1.一种提高基于Hadoop大数据综合查询引擎效率的方法,包括如下步骤:(1)在Hadoop分布式服务器集群中对MapReduce、Tez、Spark三种计算引擎进行部署及测试;(2)通过互联网与用户交互,获取用户提交的数据查询任务;(3)根据任务的具体要求智能选择MapReduce、Tez或Spark来执行所述数据查询任务,并将执行后生成的任务结果重新整理汇总给业务端数据库后通过可视化配置使结果显示反馈给用户。2.根据权利要求1所述的提高基于Hadoop大数据综合查询引擎效率的方法,其特征在于:所述步骤(1)的具体实现过程如下:1.1部署基于Hadoop的大数据分布式服务器集群,服务器中必须包含MapReduce、Tez、Spark三种计算引擎;1.2分别对MapReduce、Tez、Spark三种计算引擎进行测试,保证各引擎运行状况正常;1.3在YARN中增加MapReduce、Tez、Spark各自的调用接口。3.根据权利要求1所述的提高基于Hadoop大数据综合查询引擎效率的方法,其特征在于:所述步骤(3)中对于任务结果延时要求较低、业务已经按照MapReduce设计的且计算量较大的数据查询任务选择MapReduce引擎来执行。4.根据权利要求1所述的提高基于Hadoop大数据综合查询引擎效率的方法,其特征在于:所述步骤(3)中对于任务结果延时要求高、业务没有按照MapReduce设计的且计算量较大的数据查询任务选择Spark引擎来执行。5.根据权利要求1所述的提高基于Hadoop大数据综合查询引擎效率的方法,其特征在于:所述步骤(3)中对于任务结果延时要求较高、业务没有按照MapReduce设计的且...

【专利技术属性】
技术研发人员:欧阳涛
申请(专利权)人:上海派博软件有限公司
类型:发明
国别省市:上海,31

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

1