CN108932339A - 一种在Impala数据库中获得查看查询计划所必需参数值的方法 - Google Patents

一种在Impala数据库中获得查看查询计划所必需参数值的方法 Download PDF

Info

Publication number
CN108932339A
CN108932339A CN201810763259.XA CN201810763259A CN108932339A CN 108932339 A CN108932339 A CN 108932339A CN 201810763259 A CN201810763259 A CN 201810763259A CN 108932339 A CN108932339 A CN 108932339A
Authority
CN
China
Prior art keywords
field
module
handle
array
arrays
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810763259.XA
Other languages
English (en)
Inventor
鞠文广
邓光超
方建勋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Group Co Ltd
Original Assignee
Inspur Software Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN201810763259.XA priority Critical patent/CN108932339A/zh
Publication of CN108932339A publication Critical patent/CN108932339A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种在Impala数据库中获得查看查询计划所必需参数值的方法,该方法步骤如下:1)在数据库访问类库JDBC,在Impala数据库中执行查询时获得statement句柄;2)获取statement句柄中的operationId字段的guid字段;3)把guid字段按数组长度分为两个数组;4)把这两个数组分别转换为字符串表示;5)把第一个数组转换得到的字符串,冒号字符和第二个数组转换得到的字符串依次连接,得到的字符串就是查询id。本发明和现有技术相比,软件系统获得了查询id参数值后,就可以构造出查询计划的网址,用户就可以在查询执行过程中查看查询执行情况,进而对查询的性能进行针对性的优化,从而减少了方案复杂性和很多工作量,保证了软件系统的质量和可靠性。

Description

一种在Impala数据库中获得查看查询计划所必需参数值的 方法
技术领域
本发明涉及大数据技术领域,具体地说是一种在Impala数据库中获得查看查询计划所必需参数值的方法。
背景技术
大数据分析引擎Impala提供了SQL查询特性,它能执行SQL查询,这很适合传统关系数据库的用户的需要。
大数据分析的性能很重要,要优化SQL查询的性能一般都要了解查询的实际执行情况。而Impala提供了查询计划展示功能,能显示当前查询的实际执行情况。
要查看查询计划需要知道当前查询的查询计划网址,其中的查询id参数值(query_id)尤为关键,没有该参数就无法查看当前查询的查询计划。
目前,使用软件系统访问Impala数据库得到查询计划的方案是直接调用Impala的API获得查询id参数值,该类方案的缺点是整个查询及其结果都需调用Impala的API来实现,无法使用已有的通用数据库访问类库JDBC,这样需重复实现JDBC中已实现的很多数据访问功能,增加了方案复杂性和很多工作量,也很可能会降低软件系统的质量和可靠性。
发明内容
本发明的技术任务是提供一种在Impala数据库中获得查看查询计划所必需参数值的方法。
本发明的技术任务是按以下方式实现的:
一种在Impala数据库中获得查看查询计划所必需参数值的方法,该方法步骤如下:
步骤1)在数据库访问类库JDBC,在Impala数据库中执行查询时获得statement句柄;
步骤2)获取statement句柄中的operationId字段的guid字段;
步骤3)把guid字段按数组长度分为两个数组;
步骤4)把这两个数组分别转换为字符串表示;
步骤5)把第一个数组转换得到的字符串,冒号字符和第二个数组转换得到的字符串依次连接, 得到的字符串就是查询id。
在所述的类库JDBC的类HiveStatement中,每次执行SQL查询时,在执行完ExecuteStatement API调用后,获得statement句柄stmtHandle。
所述的步骤3)中,把guid字段按数组长度平均分为两个数组。
所述的步骤4)中,把这两个数组分别转换为16进制的字符串表示。
一种在Impala数据库中获得查看查询计划所必需参数值的装置,该装置包括句柄获得模块,字段获得模块,字段均分模块和数组转换模块;
所述的句柄获得模块用于在类库JDBC执行查询时获得statement句柄。
所述的字段获得模块用于获取statement句柄中的operationId字段的guid字段。
所述的字段均分模块用于把guid字段按数组长度平均分为两个数组。
所述的数组转换模块用于把字段均分模块均分的两个数组分别转换为16进制的字符串表示。
本发明的一种在Impala数据库中获得查看查询计划所必需参数值的方法和现有技术相比,软件系统获得了查询id参数值后,就可以构造出查询计划的网址,用户就可以在查询执行过程中查看查询执行情况,进而对查询的性能进行针对性的优化,从而减少了方案复杂性和很多工作量,保证了软件系统的质量和可靠性。
具体实施方式
实施例1:
装置配置:
一种在Impala数据库中获得查看查询计划所必需参数值的装置,该装置包括句柄获得模块,字段获得模块,字段均分模块和数组转换模块;
所述的句柄获得模块用于在类库JDBC执行查询时获得statement句柄。
所述的字段获得模块用于获取statement句柄中的operationId字段的guid字段。
所述的字段均分模块用于把guid字段按数组长度平均分为两个数组。
所述的数组转换模块用于把字段均分模块均分的两个数组分别转换为16进制的字符串表示。
操作方法:
一种在Impala数据库中获得查看查询计划所必需参数值的方法,该方法步骤如下:
步骤1)在数据库访问类库JDBC,在Impala数据库中执行查询时获得statement句柄;
步骤2)获取statement句柄中的operationId字段的guid字段;
步骤3)把guid字段按数组长度分为两个数组;
步骤4)把这两个数组分别转换为字符串表示;
步骤5)把第一个数组转换得到的字符串,冒号字符和第二个数组转换得到的字符串依次连接, 得到的字符串就是查询id。
实施例2:
装置配置:
一种在Impala数据库中获得查看查询计划所必需参数值的装置,该装置包括句柄获得模块,字段获得模块,字段均分模块和数组转换模块;
所述的句柄获得模块用于在类库JDBC执行查询时获得statement句柄。
所述的字段获得模块用于获取statement句柄中的operationId字段的guid字段。
所述的字段均分模块用于把guid字段按数组长度平均分为两个数组。
所述的数组转换模块用于把字段均分模块均分的两个数组分别转换为16进制的字符串表示。
操作方法:
一种在Impala数据库中获得查看查询计划所必需参数值的方法,该方法步骤如下:
步骤1)在数据库访问类库JDBC,在Impala数据库中执行查询时获得statement句柄;在所述的类库JDBC的类HiveStatement中,每次执行SQL查询时,在执行完ExecuteStatementAPI调用后,获得statement句柄stmtHandle。
步骤2)获取statement句柄中的operationId字段的guid字段;
byte[] guidBytes = stmtHandle.getOperationId().getGuid();
步骤3)把guid字段按数组长度平均分为两个数组;
int length = guidBytes.length / 2;
byte[] id1Bytes = new byte[length];
byte[] id2Bytes = new byte[length];
System.arraycopy(guidBytes, 0, id1Bytes, 0, length);
System.arraycopy(guidBytes, length, id2Bytes, 0, length);
步骤4)把这两个数组分别转换为16进制的字符串表示;
转换方法为:
public static String bytesToHexString(byte[] bytes) {
StringBuilder buf = new StringBuilder(bytes.length * 2);
for(byte b : bytes) {
buf.insert(0, String.format("%02x", new Integer(b & 0xff)));
}
return buf.toString();
}
对这两个数组分别进行转换:
s1 = bytesToHexString(id1Bytes);
s2 = bytesToHexString(id2Bytes);
步骤5)把第一个数组转换得到的字符串,冒号字符和第二个数组转换得到的字符串依次连接, 得到的字符串就是查询id。
String id = s1 + ":" + s2;
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

Claims (8)

1.一种在Impala数据库中获得查看查询计划所必需参数值的方法,其特征在于,该方法步骤如下:
步骤1)在数据库访问类库JDBC,在Impala数据库中执行查询时获得statement句柄;
步骤2)获取statement句柄中的operationId字段的guid字段;
步骤3)把guid字段按数组长度分为两个数组;
步骤4)把这两个数组分别转换为字符串表示;
步骤5)把第一个数组转换得到的字符串,冒号字符和第二个数组转换得到的字符串依次连接, 得到的字符串就是查询id。
2.根据权利要求1所述的方法,其特征在于,在所述的类库JDBC的类HiveStatement中,每次执行SQL查询时,在执行完ExecuteStatement API调用后,获得statement句柄stmtHandle。
3.根据权利要求1所述的方法,其特征在于,所述的步骤3)中,把guid字段按数组长度平均分为两个数组。
4.根据权利要求1所述的方法,其特征在于,所述的步骤4)中,把这两个数组分别转换为16进制的字符串表示。
5.一种在Impala数据库中获得查看查询计划所必需参数值的装置,其特征在于,该装置包括句柄获得模块,字段获得模块,字段均分模块和数组转换模块;
所述的句柄获得模块用于在类库JDBC执行查询时获得statement句柄。
6.根据权利要求5所述的方法,其特征在于,所述的字段获得模块用于获取statement句柄中的operationId字段的guid字段。
7.根据权利要求5所述的方法,其特征在于,所述的字段均分模块用于把guid字段按数组长度平均分为两个数组。
8.根据权利要求5所述的方法,其特征在于,所述的数组转换模块用于把字段均分模块均分的两个数组分别转换为16进制的字符串表示。
CN201810763259.XA 2018-07-12 2018-07-12 一种在Impala数据库中获得查看查询计划所必需参数值的方法 Pending CN108932339A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810763259.XA CN108932339A (zh) 2018-07-12 2018-07-12 一种在Impala数据库中获得查看查询计划所必需参数值的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810763259.XA CN108932339A (zh) 2018-07-12 2018-07-12 一种在Impala数据库中获得查看查询计划所必需参数值的方法

Publications (1)

Publication Number Publication Date
CN108932339A true CN108932339A (zh) 2018-12-04

Family

ID=64447496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810763259.XA Pending CN108932339A (zh) 2018-07-12 2018-07-12 一种在Impala数据库中获得查看查询计划所必需参数值的方法

Country Status (1)

Country Link
CN (1) CN108932339A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567530A (zh) * 2011-12-31 2012-07-11 凤凰在线(北京)信息技术有限公司 一种文章类型网页智能抽取系统及其方法
CN105279276A (zh) * 2015-11-11 2016-01-27 浪潮(北京)电子信息产业有限公司 一种数据库索引优化系统
CN105653277A (zh) * 2015-12-29 2016-06-08 上海建坤信息技术有限责任公司 一种简化java程序下查询数据表指定字段数据、多表联合查询、统计查询的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567530A (zh) * 2011-12-31 2012-07-11 凤凰在线(北京)信息技术有限公司 一种文章类型网页智能抽取系统及其方法
CN105279276A (zh) * 2015-11-11 2016-01-27 浪潮(北京)电子信息产业有限公司 一种数据库索引优化系统
CN105653277A (zh) * 2015-12-29 2016-06-08 上海建坤信息技术有限责任公司 一种简化java程序下查询数据表指定字段数据、多表联合查询、统计查询的方法

Similar Documents

Publication Publication Date Title
US8321450B2 (en) Standardized database connectivity support for an event processing server in an embedded context
US8271430B2 (en) Methods and systems for metadata driven data capture for a temporal data warehouse
US8756244B2 (en) Metadata as comments for search problem determination and analysis
US20120323941A1 (en) Processing Queries for Event Data in a Foreign Representation
CN104331366A (zh) 一种测试用例设计效率提升方法及系统
CN105426234B (zh) 数据库死锁检测方法及装置
US9563650B2 (en) Migrating federated data to multi-source universe database environment
CN109871289A (zh) 一种远程过程调用rpc服务生成方法及装置
CN106649073A (zh) 一种基于动态脚本模板的测试方法及装置
CN113515564B (zh) 基于j2ee的数据访问方法、装置、设备及存储介质
CN116502273A (zh) 基于数据血缘的动态数据脱敏方法、装置和设备
CN112883088B (zh) 一种数据处理方法、装置、设备及存储介质
CN116578585B (zh) 数据查询方法、装置、电子设备及存储介质
CN112597216A (zh) 一种适配多种时序数据库的微服务的方法和装置
US20060265697A1 (en) Pattern query language
CN108932339A (zh) 一种在Impala数据库中获得查看查询计划所必需参数值的方法
CN115934537A (zh) 接口测试工具生成方法、装置、设备、介质及产品
US20110131552A1 (en) Augmenting visualization of a call stack
EP3046307B1 (en) Processing method, device and system for data of distributed storage system
TWI707273B (zh) 使用統一聚合查詢語言獲取資源的方法及系統
US20090248634A1 (en) Method and system for a metadata driven query
CN112445811A (zh) 基于sql配置的数据服务方法、装置、存储介质及组件
CN106156339B (zh) 保单管理系统的访问方法、装置及系统
CN118626549B (zh) 一种基于数据库复制软件开发的通用数据装置方法
CN112035098B (zh) 一种基于Openstack4j的技术框架扩展查询方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181204