CN108932339A - 一种在Impala数据库中获得查看查询计划所必需参数值的方法 - Google Patents
一种在Impala数据库中获得查看查询计划所必需参数值的方法 Download PDFInfo
- 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
Links
- 241000282813 Aepyceros melampus Species 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000003491 array Methods 0.000 claims abstract description 19
- 210000001072 colon Anatomy 0.000 claims abstract description 5
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000007405 data analysis Methods 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 1
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提供了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进制的字符串表示。
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)
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程序下查询数据表指定字段数据、多表联合查询、统计查询的方法 |
-
2018
- 2018-07-12 CN CN201810763259.XA patent/CN108932339A/zh active Pending
Patent Citations (3)
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 |