[發明專利]一種SQL到云環境的映射方法及系統在審
| 申請號: | 201410708225.2 | 申請日: | 2014-11-28 |
| 公開(公告)號: | CN104408134A | 公開(公告)日: | 2015-03-11 |
| 發明(設計)人: | 徐英鐘;虎嵩林;蘇伊鵬;陳建;吳凱鋒;李祥珍;王志強;張春光;裘煒浩;肖政;衡星辰 | 申請(專利權)人: | 中國科學院計算技術研究所;國網浙江省電力公司信息通信分公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;H04L29/08 |
| 代理公司: | 北京泛華偉業知識產權代理有限公司 11280 | 代理人: | 王勇 |
| 地址: | 100190 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 sql 環境 映射 方法 系統 | ||
1.一種SQL到云環境的映射方法,包括下列步驟:
1)重寫待轉換SQL語句,獲得具有原待轉換SQL語句相同功能的多個重寫HiveQL語句;
2)對于步驟1)所得的每個重寫HiveQL語句,分別計算其對應的Mapreduce執行計劃的代價,根據所計算的代價選出其中最優的重寫HiveQL語句作為原SQL語句在云環境中的映射。
2.根據權利要求1所述的SQL到云環境的映射方法,其特征在于,所述步驟2)中,所述Mapreduce執行計劃的代價是該Mapreduce執行計劃所產生的總的中間數據量。
3.根據權利要求2所述的SQL到云環境的映射方法,其特征在于,所述步驟2)包括下列子步驟:
21)對于每個HiveQL語句,分別查詢其對應的Mapreduce執行計劃以及所涉及到的表的統計信息;
22)利用基于概率的基數估計方法,將所述的所涉及到的表的統計信息代入,得到所述Mapreduce執行計劃中每個Mapper操作和每個Reducer操作所產生的中間數據量,然后求和得到所述Mapreduce執行計劃所產生的總的中間數據量;
23)根據所計算的相應Mapreduce執行計劃所產生的總的中間數據量,選出最優的重寫HiveQL語句作為原SQL語句在云環境中的映射。
4.根據權利要求3所述的SQL到云環境的映射方法,其特征在于,所述步驟21)中,所述的表的統計信息包括:表的各列的唯一值數量、各個列的空值數量、各個列的最小值、各個列的最大值、各個列出現頻率最高的值分布以及各個列的平均比特數。
5.根據權利要求1所述的SQL到云環境的映射方法,其特征在于,所述步驟1)包括下列子步驟:
11)接收待轉換的SQL語句,將該SQL語句轉換成可編程操作的結構化語法樹;
12)掃描所述結構化語法樹,依據預先定義的一系列的規則觸發重寫操作,得到多個具有相同功能的HiveQL語句。
6.根據權利要求5所述的SQL到云環境的映射方法,其特征在于,所述步驟12)中,所述預先定義的一系列的規則包括:增加缺失列、抽取隱式JOIN、改寫EXISTS子查詢、改寫NOT?EXISTS子查詢、改寫通過OR連接的EXISTS/NOT?EXISTS子查詢、OR轉換為UNION、OR條件原地轉換、改寫UPDATE語句、改寫DELETE語句、改寫MERGE?INTO語句、調整JOIN順序的規則中的一項或多項。
7.根據權利要求6所述的SQL到云環境的映射方法,其特征在于,所述調整JOIN順序的規則是:如果語句中存在多個JOIN,則采用組合方法對參與JOIN的表進行前后執行順序的調整,從而形成多個不同的HiveQL語句。
8.根據權利要求6所述的SQL到云環境的映射方法,其特征在于,所述改寫UPDATE語句的規則是:對于UPDATE形式的語句中存在的JOIN語句,將其轉換為LEFT?OUTER?JOIN語句,并在該UPDATE形式的語句的WHERE中新增某列IS?NOT?NULL的條件,接著利用增加缺失列的規則生成SELECT語句,最后再移除WHERE條件,并將該條件移動到對應的SELECT語句中要被更新的列中,構成判定條件;
所述改寫MERGE?INTO語句的規則是:如果MERGE?INTO語句中包含WHEN?NOT?MATCHED子句,則將MERGE?INTO語句轉換為FULL?OUTER?JOIN語句,并且,當主表與子查詢匹配時更新主表對應的列,否則采用子查詢對應列的值作為新值;如果MERGE?INTO語句中不包含WHEN?NOT?MATCHED子句,則該MERGE?INTO語句退化為帶有JOIN條件的UPDATE語句,用所述改寫UPDATE語句的規則進行改寫。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所;國網浙江省電力公司信息通信分公司,未經中國科學院計算技術研究所;國網浙江省電力公司信息通信分公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410708225.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種雙螺桿面棒機
- 下一篇:含有吡菌苯威的殺菌組合物





