[發明專利]一種數據表關聯方法和裝置在審
| 申請號: | 201610480216.1 | 申請日: | 2016-06-27 |
| 公開(公告)號: | CN106874322A | 公開(公告)日: | 2017-06-20 |
| 發明(設計)人: | 康樹鵬 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京博思佳知識產權代理有限公司11415 | 代理人: | 靳玫,林祥 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據表 關聯 方法 裝置 | ||
技術領域
本發明涉及數據處理技術,特別涉及一種數據表關聯方法和裝置。
背景技術
在數據倉庫進行數據清洗時,其中一種常用的清洗方式是數據表和數據表之間的關聯,這種數據倉庫中的數據表之間的關聯可以稱為join操作。參與join的數據表中通常具有相同的關聯鍵(數據表之間關聯時使用的連接字段),如果將關聯鍵稱為key,例如,其中一個數據表中存儲該key與信息A的對應關系,另一個數據表中存儲該Key與信息B的對應關系,在兩者join時,可以根據關聯鍵key,將對應相同key的信息A和信息B組合在一張新數據表中,該新數據表可以包含該key與對應的信息A、信息B。
在join的過程中經常出現的一種情況是數據傾斜,數據傾斜即:參與join的數據表中,其中一個數據表包含大量的相同key值的數據記錄,例如,某個用戶登陸信息數據表中,記載有用戶ID“123”這個用戶分別在不同時間進行登陸的百萬或千萬條數據記錄(例如,其中一條記錄是“用戶ID 123——登陸時間2016.3.21”)。那么在數據倉庫使用的分布式計算平臺上處理該數據表與其他數據表的join操作時,通常計算時間會較長。
發明內容
有鑒于此,本發明提供一種數據表關聯方法和裝置,以在存在數據傾斜的數據表之間關聯時,提高數據表關聯的效率。
具體地,本發明是通過如下技術方案實現的:
第一方面,提供一種數據表關聯方法,該方法應用于對第一數據表和第二數據表進行關聯;其中,所述第一數據表中包括:能夠造成數據傾斜的傾斜數據以及所述傾斜數據之外的非傾斜數據,所述方法包括:
由所述第一數據表中提取所述傾斜數據放入第一數據分表,并將所述非傾斜數據放入第二數據分表;
由所述第二數據表中提取匹配關聯所述第一數據分表的數據,放入第三數據分表;
將所述第一數據分表和第三數據分表進行mapjoin得到第一關聯表,將所述第二數據分表和所述第二數據表進行關聯,得到第二關聯表;
將所述第一關聯表和第二關聯表進行組合,得到關聯結果表,所述關聯結果表為所述第一數據表和第二數據表關聯的結果。
第二方面,提供一種數據表關聯裝置,所述裝置應用于對第一數據表和第二數據表進行關聯;其中,所述第一數據表中包括:能夠造成數據傾斜的傾斜數據以及所述傾斜數據之外的非傾斜數據,所述裝置包括:
表拆分單元,用于由所述第一數據表中提取所述傾斜數據放入第一數據分表,并將所述非傾斜數據放入第二數據分表;
表提取單元,用于由所述第二數據表中提取匹配關聯所述第一數據分表的數據,放入第三數據分表;
表關聯單元,用于將所述第一數據分表和第三數據分表進行mapjoin得到第一關聯表,將所述第二數據分表和所述第二數據表進行關聯,得到第二關聯表;
表組合單元,用于將所述第一關聯表和第二關聯表進行組合,得到關聯結果表,所述關聯結果表為所述第一數據表和第二數據表關聯的結果。
本發明實施例的數據表關聯方法和裝置,通過將包含傾斜數據的數據表進行拆分,將拆分后的傾斜數據與一小表進行mapjoin,并將剩余數據與另一表join,使得這兩部分的數據表關聯都不會受到傾斜數據的影響,提高了數據表關聯的效率。
附圖說明
圖1為本發明實施例提供的數據表關聯方法的流程圖;
圖2為本發明實施例提供的數據表關聯方法的原理示意圖;
圖3為本發明實施例提供的數據表關聯裝置的結構示意圖;
圖4為本發明實施例提供的數據表關聯裝置的結構示意圖;
圖5為本發明實施例提供的數據表關聯裝置所在的處理設備的一種硬件結構圖。
具體實施方式
數據倉庫主要是為決策分析提供數據,所涉及的數據操作主要是數據查詢,并且為了保證數據倉庫提供數據的準確性,進入倉庫的數據通常要經過數據清洗。數據表關聯是數據倉庫進行數據清洗時的一種常用方法,例如,在通過map/reduce分布式計算平臺進行數據處理時,reduce階段可以根據兩個或更多的數據表中的關聯鍵對這些表執行join(也稱笛卡爾乘積),比如,數據倉庫接收到一個數據查詢請求,請求查詢獲取對應某個key的信息A和信息B,而信息A和信息B分別位于兩個數據表中,那么可以根據Key對這兩個數據表進行關聯,得到一個包含key及對應的信息A和信息B的新數據表,返回給查詢者。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610480216.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:有源電力濾波器新型電流控制方法
- 下一篇:一種改善諧波影響的電子調壓電路





