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

技术编号:16427946 阅读:55 留言:0更新日期:2017-10-21 22:52
本发明专利技术提供了一种基于Kudu的数据查询方法和装置,方法包括:接收对应待查询数据的SQL语句;解析所述SQL语句,以获取至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值;根据获取的所述至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值,构建语法解析树;根据所述语法解析树查询所述Kudu中存储的待查询数据。通过本发明专利技术的技术方案,可实现通过SQL语句查询Kudu中存储的数据。

A data query method and device based on Kudu

The present invention provides a method including data query method and device based on Kudu: receive a corresponding SQL statement to query the data; analyzing the SQL statement, in order to obtain at least one of the keywords and each of the current key words corresponding to the variable value; according to the obtained at least one the keywords and each of the current key words corresponding to the variable values, construct a syntax tree; according to the storage of the parsing tree query in the Kudu query. Through the technical scheme of the invention, the data stored in the Kudu can be searched through the SQL statement.

【技术实现步骤摘要】
一种基于Kudu的数据查询方法和装置
本专利技术涉及计算机
,特别涉及一种基于Kudu的数据查询方法和装置。
技术介绍
随着计算机应用技术的不断发展,数据中心需要存储的数据量不断增加,通常需要在数据中心部署Kudu分布式存储系统来存储海量的数据。Kudu作为一种分布式存储系统,包括一个主服务器节点和多个从服务器节点,其依赖于Hadoop(分布式系统基础架构)。目前,Hadoop包括多个组件,且各个组件具有不同的功能。当需要对Kudu中存储的待查询数据进行查询以实现对其进行删除及修改等处理时,则需要同时部署HDFS及Parquet等多个组件才能实现对Kudu中存储的数据进行查询,不能通过SQL语句查询Kudu中存储的数据。
技术实现思路
本专利技术实施例提供了一种基于Kudu的数据查询方法及装置,可实现通过SQL语句查询Kudu中存储的数据。第一方面,本专利技术提供了一种基于Kudu的数据查询方法,包括:接收对应待查询数据的SQL语句;解析所述SQL语句,以获取至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值;根据获取的所述至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值,构建语法解析树;根据所述语法解析树查询所述Kudu中存储的待查询数据。优选地,在所述解析所述SQL语句之前,包括:预先设置关键词对照列表,所述关键词对照列表存储有至少一个样本关键词;则,所述解析所述SQL语句,以获取至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值,包括:根据所述关键词对照列表中存储的至少一个样本关键词识别所述SQL语句,以获取所述SQL语句携带的至少一个当前关键词和每一个所述当前关键词所分别对应的变量值。优选地,在所述根据获取的所述至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值,构建语法解析树之前,还包括:预先设置语法检验规则;根据所述语法检验规则,检验获取的所述至少一个当前关键词以及各个所述当前关键词所分别对应的变量值,以确定所述SQL语句的语法是否合格;如果是,则执行所述根据获取的所述至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值,构建语法解析树;否则,生成对应所述SQL语句的错误提示信息。优选地,在所述根据所述语法解析树查询所述Kudu中存储的待查询数据之前,还包括:获取所述Kudu的主服务器节点的通信地址,并根据所述通信地址连接所述Kudu的所述主服务器节点;则,所述根据所述语法解析树查询所述Kudu中存储的待查询数据,包括:根据所述语法解析树,向所述Kudu的所述主服务器节点发送数据处理指令,以使所述Kudu的所述主服务器节点根据所述数据处理指令对所述Kudu的至少一个从服务器节点中存储的所述待查询数据进行相应的业务处理。优选地,在所述根据所述语法解析树查询所述Kudu中存储的待查询数据之前,进一步包括:设置数据转化规则;则所述根据所述语法解析树查询所述Kudu中存储的待查询数据,包括:根据所述数据转化规则对所述语法解析树中的至少一个对象参数进行转化处理;根据转化处理后的所述语法解析树查询所述Kudu中存储的待查询数据。第二方面,本专利技术实施例提供了一种基于Kudu的数据查询装置,包括:输入模块,用于接收对应待查询数据的SQL语句;词法解析模块,用于解析所述SQL语句,以获取至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值;语法处理模块,用于根据获取的所述至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值,构建语法解析树;查询处理模块,用于根据所述语法解析树查询所述Kudu中存储的待查询数据。优选地,还包括:关键词对照列表;其中,所述关键词对照列表,用于存储至少一个样本关键词;则,所述词法解析模块,用于根据所述关键词对照列表中存储的至少一个样本关键词识别所述SQL语句,以获取所述SQL语句携带的至少一个当前关键词和每一个所述当前关键词所分别对应的变量值。优选地,还包括:第一设置模块、语法校验模块和警示模块;其中,所述第一设置模块,用于预先设置语法检验规则;所述语法校验模块,用于根据所述语法检验规则,检验获取的所述至少一个当前关键词以及各个所述当前关键词所分别对应的变量值,以确定所述SQL语句的语法是否合格,如果是,则触发所述语法处理模块;否则,触发所述警示模块;所述语法处理模块,用于在所述语法校验模块的触发下,根据获取的所述至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值,构建语法解析树;所述警示模块,用于在所述语法校验模块的触发下,生成对应所述SQL语句的错误提示信息。优选地,还包括:通信处理模块;其中,所述通信处理模块,用于获取所述Kudu的主服务器节点的通信地址,并根据所述通信地址连接所述Kudu的所述主服务器节点;所述查询处理模块,用于根据所述语法解析树,向所述Kudu的所述主服务器节点发送数据处理指令,以使所述Kudu的所述主服务器节点根据所述数据处理指令对所述Kudu的至少一个从服务器节点中存储的所述待查询数据进行相应的业务处理。优选地,还包括:第二设置模块;其中,所述第二设置模块,用于设置数据转化规则;则,所述查询处理模块,用于根据所述数据转化规则对所述语法解析树中的至少一个对象参数进行转化处理;根据转化处理后的所述语法解析树查询所述Kudu中存储的待查询数据。本专利技术实施例提供了一种基于Kudu的数据查询方法和装置,该方法中,仅需要接收对应待查询数据的SQL语句,则可对接收的SQL语句进行解析以得到至少一个当前关键词,同时得到各个当前关键词所分别对应的变量值,后续则可根据各个当前关键词以及各个当前关键词所分别对应的变量值构建出可以被Kudu所识别的语法解析树,进而根据构建的语法解析树查询Kudu中存储的待查询数据。从而实现通过SQL语句查询Kudu中存储的数据。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例提供的一种基于Kudu的数据查询方法的流程图;图2是本专利技术一实施例提供的另一种基于Kudu的数据查询方法的流程图;图3是本专利技术一实施例提供的一种基于Kudu的数据查询装置的结构示意图;图4是本专利技术一实施例提供的另一种基于Kudu的数据查询装置的结构示意图图5是本专利技术一实施例提供的又一种基于Kudu的数据查询装置的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,本专利技术实施例提供了一种基于Kudu的数据查询方法,包括:步骤101,接收对应待查询数据的SQL语句;步骤102,解析所述SQL语句,以获取至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值;步骤103,根据获取本文档来自技高网...
一种基于Kudu的数据查询方法和装置

【技术保护点】
一种基于Kudu的数据查询方法,其特征在于,包括:接收对应待查询数据的SQL语句;解析所述SQL语句,以获取至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值;根据获取的所述至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值,构建语法解析树;根据所述语法解析树查询所述Kudu中存储的待查询数据。

【技术特征摘要】
1.一种基于Kudu的数据查询方法,其特征在于,包括:接收对应待查询数据的SQL语句;解析所述SQL语句,以获取至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值;根据获取的所述至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值,构建语法解析树;根据所述语法解析树查询所述Kudu中存储的待查询数据。2.根据权利要求1所述的数据查询方法,其特征在于,在所述解析所述SQL语句之前,包括:预先设置关键词对照列表,所述关键词对照列表存储有至少一个样本关键词;则,所述解析所述SQL语句,以获取至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值,包括:根据所述关键词对照列表中存储的至少一个样本关键词识别所述SQL语句,以获取所述SQL语句携带的至少一个当前关键词和每一个所述当前关键词所分别对应的变量值。3.根据权利要求2所述的数据查询方法,其特征在于,在所述根据获取的所述至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值,构建语法解析树之前,还包括:预先设置语法检验规则;根据所述语法检验规则,检验获取的所述至少一个当前关键词以及各个所述当前关键词所分别对应的变量值,以确定所述SQL语句的语法是否合格;如果是,则执行所述根据获取的所述至少一个当前关键词以及每一个所述当前关键词所分别对应的变量值,构建语法解析树;否则,生成对应所述SQL语句的错误提示信息。4.根据权利要求1所述的方法,其特征在于,在所述根据所述语法解析树查询所述Kudu中存储的待查询数据之前,还包括:获取所述Kudu的主服务器节点的通信地址,并根据所述通信地址连接所述Kudu的所述主服务器节点;则,所述根据所述语法解析树查询所述Kudu中存储的待查询数据,包括:根据所述语法解析树,向所述Kudu的所述主服务器节点发送数据处理指令,以使所述Kudu的所述主服务器节点根据所述数据处理指令对所述Kudu的至少一个从服务器节点中存储的所述待查询数据进行相应的业务处理。5.根据权利要求1至4中任一所述的数据查询方法,其特征在于,在所述根据所述语法解析树查询所述Kudu中存储的待查询数据之前,进一步包括:设置数据转化规则;则所述根据所述语法解析树查询所述Kudu中存储的待查询数据,包括:根据所述数据转化规则对所述语法解析树中的至少一个对象参数进行转化处理;根据转化处理后的所述语法解析...

【专利技术属性】
技术研发人员:邓光超
申请(专利权)人:浪潮软件集团有限公司
类型:发明
国别省市:山东,37

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

1