[發明專利]一種基于SDD?1算法的Hive連接查詢方法有效
| 申請號: | 201410237997.2 | 申請日: | 2014-05-30 |
| 公開(公告)號: | CN104021169B | 公開(公告)日: | 2018-01-16 |
| 發明(設計)人: | 周蓮英;吳淑躍;郭遠;鄭吉;喻志浩 | 申請(專利權)人: | 江蘇大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 212013 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 sdd 算法 hive 連接 查詢 方法 | ||
1.一種基于SDD-1算法的Hive連接查詢方法,其特征在于:包括以下步驟:
1)在各個分布節點上執行投影操作,將所有可執行的一元操作和局部操作構成執行策略集,對原始數據進行精簡;
2)對上述的執行策略集進行歸并排序預處理,將每一屬性進行排序,使其各個屬性形成一個有序的中間數據序列;
3)在Hadoop中對中間數據序列進行Map處理;
4)使用基于行和列的雙半連接技術將Map階段產生的結果傳送到Reduce端;
5)在Reduce端處理來自Map端經過歸并和排序的數據;
6)將查詢處理的結果返回給客戶端;
所述步驟2)中執行策略集進行歸并排序預處理包括兩個階段:第一階段是對數據庫關系進行分段排序;第二階段是對數據庫關系的子表執行歸并操作;
第一階段是對數據庫關系進行分段排序,即首先將需要排序的數據庫R劃分為大小為M個塊的子表,其中M是可用于排序的內存空間的個數,以塊為單位,再將子表放入每個內存中采用快速排序的主存排序算法執行排序操作,這樣就可以得到一個內部已排序的子表;
第二階段是對數據庫關系的子表執行歸并操作,即按照順序從每個排序的子表中讀取一個塊的內容放入內存中,在內存中統一對這些塊中的記錄執行歸并操作,每次選擇最小/最大的記錄放入數據庫R′中,同時刪除子表中相應的記錄;當子表在內存中的塊被取空時,從子表中順序讀取一個新的塊放入內存中繼續執行歸并操作;
所述步驟4)中使用基于行和列的雙半連接技術進行數據傳輸的具體步驟如下:
a)確定連接查詢涉及的屬性行和列;
b)結合查詢應用通過投影操作去除與連接查詢無關行屬性和列屬性;
c)構造多種雙半連接,分別計算傳輸代價,構建雙半連接集;
d)從構建的雙半連接集中選擇出最小的傳輸代價將Map階段產生的數據傳輸到Reduce端。
2.根據權利要求1所述的基于SDD-1算法的Hive連接查詢方法,其特征在于:所述歸并排序預處理需要進行多次的本地數據的讀取、歸并和排序操作。
3.根據權利要求1所述的基于SDD-1算法的Hive連接查詢方法,其特征在于:還包括測試數據驗證環節,選取相應的測試數據,就CPU代價以及時間響應同Hive原始連接查詢算法作對比。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇大學,未經江蘇大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410237997.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種脫硫脫硝除塵的一體化環保設備
- 下一篇:一種印刷網版





