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调度服务器或节点服务器执行,包括:接收客户端的查询请求;其中,所述查询请求包括查询条件;根据所述查询条件,计算获得待执行的查询任务和与该查询任务关联的查询 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。