[發明專利]并發查詢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.szxzyx.cn/pat/books/201410483073.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:增大后排腳部空間的座椅安裝橫梁結構
- 下一篇:一種汽車前蓋的漏液孔結構





