[發明專利]一種分布式系統中海量數據的查詢方法及裝置有效
| 申請號: | 201610221574.0 | 申請日: | 2016-04-11 | 
| 公開(公告)號: | CN107291770B | 公開(公告)日: | 2021-04-02 | 
| 發明(設計)人: | 盧山 | 申請(專利權)人: | 中國移動通信集團山西有限公司 | 
| 主分類號: | G06F16/2458 | 分類號: | G06F16/2458 | 
| 代理公司: | 北京派特恩知識產權代理有限公司 11270 | 代理人: | 蔣雅潔;張穎玲 | 
| 地址: | 030032 山西*** | 國省代碼: | 山西;14 | 
| 權利要求書: | 查看更多 | 說明書: | 查看更多 | 
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 系統 海量 數據 查詢 方法 裝置 | ||
1.一種分布式系統中海量數據的查詢方法,其特征在于,所述方法包括:
對收到的查詢請求進行解析,以得到用于表征業務分析需求的語句所生成的執行任務,以獲取所述執行任務中的至少一個操作數據表對應的操作數據表名字、操作的字段名和語句中的查詢條件;
判斷所述執行任務是單表查詢還是多表查詢;當執行所述單表查詢時,根據所述執行任務中的數據文件大小和集群可用內存選擇HIVE查詢引擎或Impala查詢引擎對所述執行任務進行分布式查詢,以生成所述執行任務中用于表征業務分析需求的語句對應的新的執行路徑;
當執行所述多表查詢時,在滿足數據過濾條件的情況下,對包含所述查詢條件的操作數據表進行數據過濾以更新所述至少一個操作數據表,直至不滿足所述數據過濾條件,根據所述執行任務中的數據文件大小和所述集群可用內存選擇所述HIVE查詢引擎或所述Impala查詢引擎對所述執行任務進行分布式查詢,以生成所述執行任務中用于表征業務分析需求的語句對應的新的執行路徑,所述數據過濾條件為所述至少一個數據操作表的數據文件大小總和超過所述集群可用內存。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:
將查詢請求需要的數據進行分布式存儲。
3.根據權利要求1所述的方法,其特征在于,所述方法還包括:
獲取所述執行任務中的每個操作數據表對應的數據文件大小、集群可用內存大小。
4.根據權利要求1所述的方法,其特征在于,所述對收到的查詢請求進行解析,以得到用于表征業務分析需求的語句所生成的執行任務,包括:
將用于表征業務分析需求的語句通過所述HIVE查詢引擎對應的HIVE算法進行解析,分析生成的所述執行任務,獲取所述執行任務中的操作數據表名字、操作的字段名和語句中的查詢條件。
5.根據權利要求4所述的方法,其特征在于,根據所述執行任務中的數據文件大小和集群可用內存選擇HIVE查詢引擎或Impala查詢引擎對所述執行任務進行分布式查詢,以生成所述執行任務中用于表征業務分析需求的語句對應的新的執行路徑,包括:
當數據文件大小超過集群可用內存大小的預設閾值時,使用所述HIVE查詢引擎對應的HIVE算法,結合所述操作數據表名字、操作的字段名和語句中的查詢條件,并按照HIVE算法執行數據查詢和結果輸出,生成所述新的執行路徑;
當數據文件大小未超過集群可用內存大小的預設閾值時,使用Impala查詢引擎對應的Impala算法,結合所述操作數據表名字、操作的字段名和語句中的查詢條件,并按照Impala算法執行數據查詢和結果輸出,生成所述新的執行路徑。
6.根據權利要求5所述的方法,其特征在于,所述方法還包括:
將每個操作數據表對應的數據文件大小與集群可用內存大小進行比較之前,結合每個操作數據表中的統計信息,獲取到每個操作數據表對應的數據文件大小,如果通過所述HIVE算法進行解析得到的解析結果中包含分區表,則在獲取操作數據表對應的數據文件大小時,只需獲取對應的分區文件大小。
7.根據權利要求1所述的方法,其特征在于,所述對包含所述查詢條件的操作數據表進行數據過濾,包括:
在所述包含所述查詢條件的操作數據表的數據文件大小超過所述集群可用內存大小的預設閾值的情況下,通過所述HIVE算法對所述包含所述查詢條件的操作數據表進行數據過濾;
在所述包含所述查詢條件的操作數據表的數據文件大小未超過所述集群可用內存大小的預設閾值的情況下,通過所述Impala算法對所述包含所述查詢條件的操作數據表進行數據過濾。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國移動通信集團山西有限公司,未經中國移動通信集團山西有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610221574.0/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
 - 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
 - 數據發送方法、數據發送系統、數據發送裝置以及數據結構
 - 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
 - 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
 - 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
 - 數據發送和數據接收設備、數據發送和數據接收方法
 - 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
 - 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
 - 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
 





