[发明专利]并发查询HBase表的方法和装置在审
申请号: | 201410483073.0 | 申请日: | 2014-09-19 |
公开(公告)号: | CN104239530A | 公开(公告)日: | 2014-12-24 |
发明(设计)人: | 刘璧怡;郭美思;吴楠 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王丹;李丹 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并发 查询 hbase 方法 装置 | ||
技术领域
本发明涉及数据处理技术领域,尤其涉及一种并发查询HBase表的方法和装置。
背景技术
随着互联网的迅猛发展,网络访问量、网络日志、视频资料、通讯记录等所产生的数据在急剧增加,各种类型的数据呈海量增长的现象。目前传统的技术无法处理这种情形,分布式技术的应用缓解了这一问题。
在分布式技术中,Hadoop平台提供了一系列的组件能够处理大数据。Hadoop是一个分布式系统基础架构,Hadoop本身由Hadoop分布式文件系统(HDFS,Hadoop Distributed File System)和分布式计算框架MapReduce组成,该HDFS有着高容错且能部署在廉价的计算机上。HBase是Hadoop的组件之一,是构建在Apache Hadoop之上的稀疏的、面向列的分布式数据库。HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。HBase不同于传统的数据库,它是一个适用于非结构化数据存储的数据库,具有高扩展性、列存储、可伸缩、能实时读写大数据的特点。
查询HBase表的方式有两种,一种是扫描(Scan)方式,另一种是获取(Get)方式。在Scan查询方式中,可以通过指定范围来获取一段记录;在Get查询方式中,是根据单一的RowKey获取一条记录。
用户有需要对HBase表并发查询并需要在指定时间内得到查询结果的需求,在现有的Scan查询方式中,可以根据设置Scan中的Caching及Batch等属性来抓取一批数据,然后在抓取的数据中进行查询操作,在完成并发查询HBase表时可以用MapReduce程序完成,但在MapReduce执行的过程中存在任务启动等操作的一些时间开销,使得查询效率不好。
有鉴于此,需要一种并发查询HBase表的优化方案来解决现有技术的问题。
发明内容
为了解决上述技术问题,本发明提供了一种并发查询HBase表的方法和装置,能够极大的提高并发查询HBase表的效率。
为了达到本发明目的,本发明提供了一种并发查询HBase表的方法,包括:设置查询HBase服务端程序;设置并发查询程序;采用并发查询程序调用查询HBase服务端程序,并发查询HBase表。
进一步地,设置查询HBase服务端程序,包括:实例化HTablePool对象,根据实例化的HTablePool对象获取HTable实例;根据Hbase客户端的需求,在获取的HTable实例中设置查询属性;设置通过getScanner查询HBase表中的记录。
进一步地,实例化HTablePool对象,根据实例化的HTablePool对象获取HTable实例之前,还包括:构建HTablePool对象池,HTablePool维护固定数量的HTable实例,通过HTablePoo的PoolMap存放HTable实例。
进一步地,根据Hbase客户端的需求,在获取的HTable实例中设置查询属性,包括:根据Hbase客户端的需求,在获取的HTable实例中设置开始Key及截止Key。
进一步地,根据Hbase客户端的需求,在获取的HTable实例中设置查询属性,还包括:根据Hbase客户端的需求,设置HTable实例中的Caching参数、Batch参数和CacheBlocks参数。
进一步地,设置通过getScanner查询HBase表中的记录之后,还包括:如果通过getScanner查询的查询结果与Hbase客户端的需求有差别,则根据通过RowKey及value值设置Hbase客户端需求的查询输出格式。
进一步地,设置并发查询程序,包括:通过java concurrent中的时间闸设置并发查询程序。
进一步地,采用并发查询程序调用查询HBase服务端程序,并发查询HBase表,包括:并发查询程序调用查询HBase服务端程序,将并发访问任务分发到集群中的节点中,每个节点并发执行对HBase表的查询。
进一步地,还包括:通过查询日志,对并发查询的结果状态进行记录,其中,通过error、failed、success状态进行记录,error表示查询出错,failed表示查询失败,success表示查询成功;当并发查询中所有的查询都是success状态时,并发查询HBase表成功,在查询成功时,记录并发查询HBase表的平均时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410483073.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:增大后排脚部空间的座椅安装横梁结构
- 下一篇:一种汽车前盖的漏液孔结构