基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备制造方法及图纸

技术编号:18367224 阅读:51 留言:0更新日期:2018-07-05 08:16
本发明专利技术提出一种基于分布式系统的交互式大数据查询方法、装置、存储介质及终端设备,所述分布式系统包括执行name node进程的hadoop hdfs调度服务器、执行master进程的spark调度服务器、执行job tracker进程的mapreduce调度服务器以及多个节点服务器,其中,每个节点服务器均部署有执行hdfs datanode进程、spark worker进程和mapreduce node进程。以及原始数据经过mapreduce的处理导入到hadoop hdfs中并进行格式优化,查询任务提交到spark上,会以最大的并发度执行,直接读取导入的数据进行本地化计算,能够极大的提高大数据查询的效率。

Interactive large data query method, device, storage medium and terminal equipment based on distributed system

This invention proposes an interactive large data query method, device, storage medium and terminal equipment based on distributed system. The distributed system includes the Hadoop HDFS scheduling server executing the name node process, the spark scheduling server executing the master process, and the MapReduce scheduling server executing the job tracker process. And multiple node servers, where each node server is deployed to execute HDFS datanode process, spark worker process and MapReduce node process. And the original data through the processing of MapReduce into the Hadoop HDFS and format optimization, query task submitted to the spark, will be executed with the maximum concurrency, directly read the imported data for localization calculation, can greatly improve the efficiency of large data query.

【技术实现步骤摘要】
基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备
本专利技术涉及通信
,尤其涉及一种基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备。
技术介绍
目前,Facebook开发的presto的查询系统和Google开发的dremel的查询系统均能够在shuffle数据量低于100G情况下,实现TB级别大数据的秒级查询。但是,他们的方案都是完全独立研发的计算引擎,没有使用业界成熟度非常高的计算引擎,导致系统相对封闭,不利于大数据学习和运维。spark是一款成熟的计算引擎,其能实现计算引擎和存储的对接,以及,相比前述自研查询引擎,其便于对查询引擎的快速地优化。但是,在现有技术中,利用spark查询数据量过大的shuffle的情况下,查询执行的时间会快速增加,这就对查询的类型提出了约束,而且在查询并发比较集中的情况下会导致排队,进一步加长查询的时间。
技术实现思路
本专利技术实施例提供一种基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备,能够提高查询数据的效率。第一方面,本专利技术实施例提供了一种基于分布式系统的交互式大数据查询方法,所述分布式系统包括用于执行namenode进程的Hadoophdfs调度服务器、用于执行master进程的spark调度服务器、以及至少一个均部署有hdfsdatanode进程和sparkworker进程的节点服务器,所述方法由所述spark调度服务器或节点服务器执行,包括:接收客户端的查询请求;其中,所述查询请求包括查询条件;根据所述查询条件,计算获得待执行的查询任务和与该查询任务关联的查询逻辑;其中,该查询任务记载有从所述Hadoophdfs调度服务器中查询到的执行该查询任务的查询数据所存储在的节点服务器;判断当前空闲节点服务器的节点数量是否大于待执行的查询任务的任务数量;若是,则从当前空闲节点服务器中选取出存储有所述查询数据的节点服务器,并继续从剩余的空闲节点服务器中选取使并发数量满足所述任务数量的节点服务器,以及向选取到的节点服务器并发查询任务和与该查询任务关联的查询逻辑;若否,则向当前空闲节点服务器均并发查询任务和与该查询任务关联的查询逻辑,并实时查询是否有空闲的节点服务器以下发剩余的查询任务;接收节点服务器返回的执行查询任务的任务结果;根据任务结果计算生成查询结果,并将所述查询结果发送给所述客户端。结合第一方面,本专利技术在第一方面的第一种实施方式中,所述分布式系统还包括数据导入接口,以及所述方法还包括:向所述数据导入接口查询是否有增量数据分片导入;所述增量数量分片包括分片文件;若有,从所述数据导入接口获取所述增量数据分片的分片文件;对获取到的分片文件执行文件合并操作;以及存储合并后的增量数据分片于所述分布式系统的节点服务器中。结合第一方面的第二种实施方式,本专利技术在第一方面的第二种实施方式中,所述从所述数据导入接口获取所述增量数据分片的分片文件,包括:从所述数据导入接口获取同属一个合并任务的分片文件。结合第一方面的第一种实施方式,本专利技术在第一方面的第三种实施方式中,所述文件合并操作包括:以ORC格式合并生成新的分片文件。结合第一方面的第一种实施方式,本专利技术在第一方面的第四种实施方式中,所述数据导入接口为用于执行jobtracker进程的mapreduce调度服务器,以及,所述分布式系统中的所有节点服务器均运行mapreducenode进程。第二方面,本专利技术实施例提供了一种基于分布式系统的交互式大数据查询装置,其中,所述分布式系统包括用于执行namenode进程的Hadoophdfs调度服务器、用于执行master进程的spark调度服务器、以及至少一个均部署有hdfsdatanode进程和sparkworker进程的节点服务器,所述装置设置在所述spark调度服务器或节点服务器中,包括:查询请求接收模块,用于接收客户端的查询请求;其中,所述查询请求包括查询条件;任务与逻辑生成模块,用于根据所述查询条件,计算获得待执行的查询任务和与该查询任务关联的查询逻辑;其中,该查询任务记载有从所述Hadoophdfs调度服务器中查询到的执行该查询任务的查询数据所存储在的节点服务器;数量判断模块,用于判断当前空闲节点服务器的节点数量是否大于待执行的查询任务的任务数量;计算任务调度模块,用于若是,则从当前空闲节点服务器中选取出存储有所述查询数据的节点服务器,并继续从剩余的空闲节点服务器中选取使并发数量满足所述任务数量的节点服务器,以及向选取到的节点服务器并发查询任务和与该查询任务关联的查询逻辑;直接调度模块,用于若否,则向当前空闲节点服务器均并发查询任务和与该查询任务关联的查询逻辑,并实时查询是否有空闲的节点服务器以下发剩余的查询任务;任务结果接收模块,用于接收节点服务器返回的执行查询任务的任务结果;查询结果生成模块,用于根据任务结果计算生成查询结果,并将所述查询结果发送给所述客户端。结合第二方面,本专利技术在第二方面的第一种实施方式中,所述分布式系统还包括数据导入接口,以及所述装置还包括:增量数据导入模块,用于向所述数据导入接口查询是否有增量数据分片导入;所述增量数量分片包括分片文件;增量数据获取模块,用于当查询到有增量数据分片导入时,从所述数据导入接口获取所述增量数据分片的分片文件;合并执行模块,用于对获取到的分片文件执行文件合并操作;以及数据存储模块,用于存储合并后的增量数据分片于所述分布式系统的节点服务器中。结合第二方面,本专利技术在第二方面的第发给种实施方式中,所述数据导入接口为用于执行jobtracker进程的mapreduce调度服务器,以及,所述分布式系统中的所有节点服务器均运行mapreducenode进程。所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,基于分布式系统的交互式大数据查询装置的结构中包括处理器和存储器,所述存储器用于基于分布式系统的交互式大数据查询装置执行上述第一方面中基于分布式系统的交互式大数据查询方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述基于分布式系统的交互式大数据查询装置还可以包括通信接口,用于基于分布式系统的交互式大数据查询装置与其他设备或通信网络通信。第三方面,本专利技术实施例提供了一种计算机可读存储介质,用于存储基于分布式系统的交互式大数据查询装置所用的计算机软件指令,其包括用于执行上述第一方面中基于分布式系统的交互式大数据查询方法为基于分布式系统的交互式大数据查询装置所涉及的程序。上述技术方案中的任一个技术方案具有如下优点或有益效果:本专利技术实施例提供分布式系统包括执行namenode进程的hadoophdfs调度服务器、执行master进程的spark调度服务器,执行jobtracker进程的mapreduce调度服务器以及多个节点服务器,每个节点服务器均部署有执行hdfsdatanode进程、sparkworker进程和mapreducenode进程。以及原始数据经过mapreduce的进程导入到hadoophdfs中并进行格式优化,提交到spark,如此实际计算任务会以最大的并发度执行,直接读取本文档来自技高网...
基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备

【技术保护点】
1.一种基于分布式系统的交互式大数据查询方法,其特征在于,所述分布式系统包括用于执行name node进程的Hadoop hdfs调度服务器、用于执行master进程的spark调度服务器、以及至少一个均部署有hdfs datanode进程和spark worker进程的节点服务器,所述方法由所述spark调度服务器或节点服务器执行,包括:接收客户端的查询请求;其中,所述查询请求包括查询条件;根据所述查询条件,计算获得待执行的查询任务和与该查询任务关联的查询逻辑;其中,该查询任务记载有从所述Hadoop hdfs调度服务器中查询到的执行该查询任务的查询数据所存储在的节点服务器;判断当前空闲节点服务器的节点数量是否大于待执行的查询任务的任务数量;若是,则从当前空闲节点服务器中选取出存储有所述查询数据的节点服务器,并继续从剩余的空闲节点服务器中选取使并发数量满足所述任务数量的节点服务器,以及向选取到的节点服务器并发查询任务和与该查询任务关联的查询逻辑;若否,则向当前空闲节点服务器均并发查询任务和与该查询任务关联的查询逻辑,并实时查询是否有空闲的节点服务器以下发剩余的查询任务;接收节点服务器返回的执行查询任务的任务结果;根据任务结果计算生成查询结果,并将所述查询结果发送给所述客户端。...

【技术特征摘要】
1.一种基于分布式系统的交互式大数据查询方法,其特征在于,所述分布式系统包括用于执行namenode进程的Hadoophdfs调度服务器、用于执行master进程的spark调度服务器、以及至少一个均部署有hdfsdatanode进程和sparkworker进程的节点服务器,所述方法由所述spark调度服务器或节点服务器执行,包括:接收客户端的查询请求;其中,所述查询请求包括查询条件;根据所述查询条件,计算获得待执行的查询任务和与该查询任务关联的查询逻辑;其中,该查询任务记载有从所述Hadoophdfs调度服务器中查询到的执行该查询任务的查询数据所存储在的节点服务器;判断当前空闲节点服务器的节点数量是否大于待执行的查询任务的任务数量;若是,则从当前空闲节点服务器中选取出存储有所述查询数据的节点服务器,并继续从剩余的空闲节点服务器中选取使并发数量满足所述任务数量的节点服务器,以及向选取到的节点服务器并发查询任务和与该查询任务关联的查询逻辑;若否,则向当前空闲节点服务器均并发查询任务和与该查询任务关联的查询逻辑,并实时查询是否有空闲的节点服务器以下发剩余的查询任务;接收节点服务器返回的执行查询任务的任务结果;根据任务结果计算生成查询结果,并将所述查询结果发送给所述客户端。2.如权利要求1所述的基于分布式系统的交互式大数据查询方法,其特征在于,所述分布式系统还包括数据导入接口,以及所述方法还包括:向所述数据导入接口查询是否有增量数据分片导入;所述增量数量分片包括分片文件;若有,从所述数据导入接口获取所述增量数据分片的分片文件;对获取到的分片文件执行文件合并操作;以及存储合并后的增量数据分片于所述分布式系统的节点服务器中。3.如权利要求2所述的基于分布式系统的交互式大数据查询方法,其特征在于,所述从所述数据导入接口获取所述增量数据分片的分片文件,包括:从所述数据导入接口获取同属一个合并任务的分片文件。4.如权利要求2所述的基于分布式系统的交互式大数据查询方法,其特征在于,所述文件合并操作包括:以ORC格式合并生成新的分片文件。5.如权利要求2所述的基于分布式系统的交互式大数据查询方法,其特征在于,所述数据导入接口为用于执行jobtracker进程的mapreduce调度服务器,以及,所述分布式系统中的所有节点服务器均运行mapreducenode进程。6.一种基于分布式系统的交互式大数据查询装置,其特征在于,所述分布式系统包括用于执行namenode进程的Hadoophdfs调度服务器、用于执行master进程的spark调度服务器、以...

【专利技术属性】
技术研发人员:张志宏陈驰张文歆刘成梁国蓉
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

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

1