一种数据查询方法和装置制造方法及图纸

技术编号:18940641 阅读:30 留言:0更新日期:2018-09-15 11:05
本发明专利技术公开了一种数据查询方法和装置。该方法包括:获取查询计划;确定所述查询计划中包含的数据源信息;根据所述数据源信息,对所述查询计划执行转义操作;根据转义后的所述查询计划,从所述数据源信息对应的数据源中查询数据并展示查询结果。本发明专利技术通过将查询计划进行转义操作,将查询计划转义为需要查询的数据库能够识别的语言,通过这种操作,可以使用一条查询计划同时查询不同数据库,实现跨平台联合查询,提升了数据查询效率,打通了不同数据库之间的技术壁垒,降低了开发人员的学习门槛。

A data query method and device

The invention discloses a data query method and device. The method comprises acquiring a query plan, determining the data source information contained in the query plan, performing an escaping operation on the query plan according to the data source information, and querying the data from the data source corresponding to the data source information and displaying the query results according to the escaped query plan. By escaping the query plan, the query plan is translated into a language that can be recognized by the database that needs to be queried. Through this operation, a query plan can be used to query different databases at the same time, thus realizing cross-platform joint query, improving the efficiency of data query and opening up the different databases. Technical barriers reduce the learning threshold of developers.

【技术实现步骤摘要】
一种数据查询方法和装置
本专利技术涉及大数据
,特别是涉及一种数据查询方法和装置。
技术介绍
随着数据科学不断发展,在大数据领域不断涌现出各类数据存储系统。数据按照各自的类型和使用特性被分别存储到不同的数据存储系统中。在大数据领域,为了使开发人员能够快速使用相关系统,通常会提供SQL(StructuredQueryLanguage,结构化查询语言)。SQL语言是一种为满足数据库查询、分析、挖掘等需求的常用技术手段。但是,在大数据系统中只有类似Hive这样的数据仓库具有使用SQL语言的能力,然而在大数据系统中,除了Hive还有ElasticSearch、HBase(HadoopDatabase)等数据存储系统,这就使得开发人员无法通过SQL语言在多个数据存储系统将进行查询。针对Hive、Hbase和ElasticSearch的查询只能分别使用SQL命令、HBase命令和ElasticSearch命令。然而这些命令在语法结构、实现原理、约束条件等方面不尽相同,这就使得开发人员必须学习多种语言,并且掌握每种语言的语言特征和语法特征,但是即便如此也会经常遇到难以解决的问题。综上所述,在面临数据访问语法各异、数据相互隔离等问题时,现有技术无法提供跨平台进行联合查询的系统,导致数据的查询、分析、挖掘复杂性增加,且难以关联全量数据,严重影响数据的使用效率。
技术实现思路
本专利技术要解决的技术问题是一种数据查询方法和装置,用以解决现有技术无法提供跨平台联合查询的问题。为了解决上述技术问题,本专利技术是通过以下技术方案来解决的:本专利技术提供了一种数据查询方法,包括:获取查询计划;确定所述查询计划中包含的数据源信息;根据所述数据源信息,对所述查询计划执行转义操作;根据转义后的所述查询计划,从所述数据源信息对应的数据源中查询数据并展示查询结果。其中,在确定所述查询计划中包含的数据源信息之前,还包括:获取以结构化查询语言SQL描述的查询语句;解析出所述查询语句中包含的数据源信息和查询条件;根据所述数据源信息和所述查询条件,生成以SQL语言描述的查询计划;其中,所述查询条件包括:关键词、索引信息、查询范围、查询操作和查询结果的数量。其中,根据转义后的所述查询计划,在所述数据源信息对应的数据源中查询数据,包括:根据转义后的所述查询计划中包含的关键词、索引信息、查询范围和/或查询结果的数量,从所述数据源信息对应的数据源中查询数据;和/或,根据转义后的所述查询计划中包含的查询操作,使所述数据源信息对应的数据源执行所述查询操作,以便查询数据。其中,根据所述数据源信息,对所述查询计划执行转义操作,包括:确定所述数据源信息对应的数据源;通过SparkSQL接口,将所述以SQL语言描述的查询计划转义为所述数据源可识别的查询命令。其中,所述数据源包括:Hive数据库、HBase数据库和/或ElasticSearch数据库。本专利技术还提供了一种数据查询装置,包括:获取模块,用于获取查询计划;确定模块,用于确定所述查询计划中包含的数据源信息;转义模块,用于根据所述数据源信息,对所述查询计划执行转义操作;查询模块,用于根据转义后的所述查询计划,从所述数据源信息对应的数据源中查询数据并展示查询结果。其中,所述获取模块,还用于:在确定所述查询计划中包含的数据源信息之前,获取以结构化查询语言SQL描述的查询语句;解析出所述查询语句中包含的数据源信息和查询条件;根据所述数据源信息和所述查询条件,生成以SQL语言描述的查询计划;其中,所述查询条件包括:关键词、索引信息、查询范围、查询操作和查询结果的数量。其中,所述查询模块,进一步用于:根据转义后的所述查询计划中包含的关键词、索引信息、查询范围和/或查询结果的数量,从所述数据源信息对应的数据源中查询数据;和/或,根据转义后的所述查询计划中包含的查询操作,使所述数据源信息对应的数据源执行所述查询操作,以便查询数据。其中,所述转义模块,进一步用于:确定所述数据源信息对应的数据源;通过SparkSQL接口,将所述以SQL语言描述的查询计划转义为所述数据源可识别的查询命令。其中,所述数据源包括:Hive数据库、HBase数据库和/或ElasticSearch数据库。本专利技术有益效果如下:本专利技术通过将查询计划进行转义操作,将查询计划转义为需要查询的数据库能够识别的语言,通过这种操作,可以使用一条查询计划同时查询不同数据库,实现跨平台联合查询,提升了数据查询效率,打通了不同数据库之间的技术壁垒,降低了开发人员的学习门槛。附图说明图1是根据本专利技术第一实施例的数据查询方法的流程图;图2是根据本专利技术第二实施例的数据查询装置的结构图。具体实施方式以下结合附图以及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不限定本专利技术。实施例一本实施例提供一种数据查询方法。如图1所示,为根据本专利技术第一实施例的数据查询方法的流程图。步骤S110,获取查询计划。查询计划作为数据查询的基础,通过执行查询计划进行数据查询。在查询计划中,包括:数据源信息和查询条件。所述数据源信息,包括但不限于:数据源的路径。进一步地,数据源信息与数据源一一对应。数据源信息可以是一个或多个,这样可以从多个数据源中查询数据。所述查询条件,包括但不限于:关键词、索引信息、查询范围、查询操作和查询结果的数量。其中,查询操作包括但不限于:表联合(将多张数据表合并为一张数据表)、求平均值、求和、排序、筛选。查询结果的数量即预先对规定需要多少查询结果。具体的,在获取查询计划之前,获取以SQL描述的查询语句;解析出所述查询语句中包含的数据源信息和查询条件;根据所述数据源信息和所述查询条件,生成以SQL语言描述的查询计划。进一步地,查询语句可以是用户输入的,也可以是在数据处理过程中生成的。为了解决不同数据库之间查询需要使用不同语言的问题,本实施例将查询语句规定为SQL语句,这样能够降低开发人员的学习门槛,使开发人员能够快速查询数据。步骤S120,确定所述查询计划中包含的数据源信息。在本实施例中,数据源包括:Hive数据库、HBase数据库和/或ElasticSearch数据库。Hive是建立在Hadoop上的数据仓库基础构架。Hive数据库存储数据量大,内部存储的数据多为结构化关系型数据,通常用于进行数据挖掘。HBase是一个分布式的、面向列的开源数据库。HBase数据库存储压缩比较高,内部存储的数据多为列式数据,通常用于快速的统计分析。ElasticSearch数据库可以用于分布式全文检索。ElasticSearch数据库查询性能高,内部存储的数据多为需要快速检索的文本数据,通常用于快速检索查询。步骤S130,根据所述数据源信息,对所述查询计划执行转义操作。转义操作,用于将查询计划翻译成数据源可识别的语言,使数据源能够执行翻译后的查询计划。转义操作,具体包括以下两个步骤:步骤1,确定数据源信息对应的数据源。如果查询计划中包含多个数据源信息,则分别确定每个数据源信息对应的数据源。具体可以根据数据源的路径确定具体的数据源。步骤2,通过SparkSQL接口,将所述以SQL语言描述的查询计划转义为所述数据源可识别的查询命令。SparkSQL接口用于将本文档来自技高网...

【技术保护点】
1.一种数据查询方法,其特征在于,包括:获取查询计划;确定所述查询计划中包含的数据源信息;根据所述数据源信息,对所述查询计划执行转义操作;根据转义后的所述查询计划,从所述数据源信息对应的数据源中查询数据并展示查询结果。

【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:获取查询计划;确定所述查询计划中包含的数据源信息;根据所述数据源信息,对所述查询计划执行转义操作;根据转义后的所述查询计划,从所述数据源信息对应的数据源中查询数据并展示查询结果。2.如权利要求1所述的方法,其特征在于,在确定所述查询计划中包含的数据源信息之前,还包括:获取以结构化查询语言SQL描述的查询语句;解析出所述查询语句中包含的数据源信息和查询条件;根据所述数据源信息和所述查询条件,生成以SQL语言描述的查询计划;其中,所述查询条件包括:关键词、索引信息、查询范围、查询操作和查询结果的数量。3.如权利要求2所述的方法,其特征在于,根据转义后的所述查询计划,在所述数据源信息对应的数据源中查询数据,包括:根据转义后的所述查询计划中包含的关键词、索引信息、查询范围和/或查询结果的数量,从所述数据源信息对应的数据源中查询数据;和/或,根据转义后的所述查询计划中包含的查询操作,使所述数据源信息对应的数据源执行所述查询操作,以便查询数据。4.如权利要求2所述的方法,其特征在于,根据所述数据源信息,对所述查询计划执行转义操作,包括:确定所述数据源信息对应的数据源;通过SparkSQL接口,将所述以SQL语言描述的查询计划转义为所述数据源可识别的查询命令。5.如权利要求1-4中任一项所述的方法,其特征在于,所述数据源包括:Hive数据库、HBase数据库和/或ElasticSearch数据库...

【专利技术属性】
技术研发人员:惠榛张鸿刘欣然郭东东吕雁飞马秉楠兰钢临
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京,11

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

1