[發明專利]一種基于SDD?1算法的Hive連接查詢方法有效
| 申請號: | 201410237997.2 | 申請日: | 2014-05-30 |
| 公開(公告)號: | CN104021169B | 公開(公告)日: | 2018-01-16 |
| 發明(設計)人: | 周蓮英;吳淑躍;郭遠;鄭吉;喻志浩 | 申請(專利權)人: | 江蘇大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 212013 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 sdd 算法 hive 連接 查詢 方法 | ||
技術領域
本發明屬于計算機信息技術應用領域,具體涉及一種基于SDD-1算法的Hive連接查詢方法。
背景技術
SDD-1算法是一種在傳統分布式關系型數據庫中廣泛應用的查詢方法。Hive是一個基于Hadoop文件系統之上的數據倉庫架構,實現了類似傳統關系數據庫的SQL語句查詢功能。現有Hive在進行連接查詢時采用了排序歸并算法,該算法的執行分為Map(數據映射)階段和Reduce(數據處理)階段:Map階段對執行連接的數據庫表按照連接屬性集中進行排序,Reduce階段將各個Map階段生成的分段排序結果進行歸并連接,輸出查詢結果。
上述算法存在兩個問題:(1)Map階段產生的大量中間結果數據需要通過網絡傳輸到Reduce端,會消耗大量的帶寬;(2)Reduce端需要進行多次歸并排序操作,執行時間較長。為了更好了使用Hive進行海量數據的連接查詢,需要在實際應用中解決這兩個問題。
發明內容
本發明的目的在于解決Hive在進行連接查詢時采用Hive原始連接查詢算法所存在的執行時間長和帶寬資源消耗大等問題,提供了一種基于SDD-1算法的Hive連接查詢方法,以使Hive系統達到響應快和帶寬消耗少的目的。
基于上述發明的目的,本發明的技術方案為:
一種基于SDD-1算法的Hive連接查詢方法,包括以下步驟:
1)在各個分布節點上執行投影等操作,將所有可執行的一元操作和局部操作構成執行策略集,對原始數據進行精簡;
2)對上述的執行策略集進行歸并排序預處理,將每一屬性進行排序,使其各個屬性形成一個有序的中間數據序列;
3)在Hadoop中對中間數據序列進行Map處理;
4)使用基于行和列的雙半連接技術將Map階段產生的結果傳送到Reduce端;
5)在Reduce端處理來自Map端比較有序的數據;
6)將查詢處理的結果返回給客戶端。
進一步,所述步驟2)中執行策略集進行歸并排序預處理包括兩個階段:第一階段是對數據庫關系進行分段排序;第二階段是對數據庫關系的子表執行歸并操作。
進一步,所述歸并排序預處理需要進行多次的本地數據的讀取、歸并和排序操作。
進一步,所述步驟4)中使用基于行和列的雙半連接技術進行數據傳輸的具體步驟如下:
a)確定連接查詢涉及的屬性行和列;
b)結合查詢應用通過投影操作去除與連接查詢無關行屬性和列屬性;
c)構造多種雙半連接,分別計算傳輸代價,構建雙半連接集;
d)從構建的雙半連接集中選擇出最小的傳輸代價將Map階段產生的數據傳輸到Reduce端。
進一步,還包括測試數據驗證環節,選取相應的測試數據,就CPU代價以及時間響應同Hive原始連接查詢算法作對比。
本發明的有益結果為:本發明充分利用Hive進行數據連接查詢時需進行的數據傳輸和歸并排序操作的特性,采用雙半連接技術和數據歸并排序預處理技術,進而加快查詢處理速度。實驗結果表明,本發明采用雙半連接技術能夠大大減少各個節點之間的數據傳輸量,從而大大減少對帶寬資源的消耗;同時采用數據歸并排序預處理,可以當元組數達到一定規模后使響應速度加快。
附圖說明
圖1為本發明的執行步驟流程圖;
圖2為Hive原始連接查詢算法CPU代價的示意圖;
圖3為基于SDD-1算法的Hive連接查詢方法的CPU代價的示意圖;
圖4為本發明在不同數據量下與Hive原始連接查詢算法的時間響應對比圖。
具體實施方式
下面結合附圖和具體實施例,進一步闡明本發明的具體實施方式。
如圖1所示,本發明提出了一種基于數據預處理和雙半連接的SDD-1改進算法,數據預處理是指在進行數據傳輸前用投影等一元操作完成對數據的精簡,同時還對各節點上進行數據的預排序;雙半連接是指不僅對行的數據進行縮減,同時對列的數據進行縮減。該方案包括以下幾個步驟:
步驟1,在各個分布節點上執行投影等操作,將所有可執行的一元操作和局部操作構成執行策略集,對原始數據進行精簡;
步驟2,對上述的執行策略集進行歸并排序預處理,將每一屬性進行排序,使其各個屬性形成一個有序的中間數據序列;
步驟3,在Hadoop中對中間數據序列進行Map處理;
步驟4,使用基于行和列的雙半連接技術將Map階段產生的結果傳送到Reduce端;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇大學,未經江蘇大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410237997.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種脫硫脫硝除塵的一體化環保設備
- 下一篇:一種印刷網版





