[發明專利]數據表連接方法及裝置有效
| 申請號: | 201610118167.7 | 申請日: | 2016-03-02 |
| 公開(公告)號: | CN107153643B | 公開(公告)日: | 2021-02-19 |
| 發明(設計)人: | 吳煒 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22 |
| 代理公司: | 北京鴻德海業知識產權代理有限公司 11412 | 代理人: | 孟繁琦 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據表 連接 方法 裝置 | ||
本申請提供一種數據表連接方法及裝置。方法包括:接收數據表連接任務,數據表連接任務指示按照連接條件對第一數據表和第二數據表進行連接操作;根據連接條件,將第二數據表中的數據記錄加載到分布式系統中至少兩個節點上;讀取第一數據表中的數據記錄作為當前數據記錄,根據當前數據記錄對應的連接條件,從至少兩個節點中確定目標節點,并讀取目標節點上存儲的第二數據表中的數據記錄作為目標數據記錄;對當前數據記錄和目標數據記錄進行連接操作。本申請可以降低數據表連接操作消耗的計算資源。
【技術領域】
本申請涉及數據庫技術領域,尤其涉及一種數據表連接方法及裝置。
【背景技術】
隨著互聯網的發展,數據呈現爆發式增長,數據結構也開始多元化,數據含有的信息量越來越多,數據倉庫在這樣的背景下發揮著巨大的作用。由于大數據時代的降臨,數據倉庫轉成為分布式架構,以滿足爆發式增長的計算及存儲的需求。分布式數據倉庫一般使用列式存儲,并以文件的形式保存數據,因此,采用分布式數據倉庫可提高大數據的存儲及計算性能。
在分布式數據倉庫的查詢過程中,經常需要進行數據表之間的連接(Join)計算。現有技術在處理數據表之間的Join計算時,一般都是先將所有待Join的數據表通過MapReduce的方式做洗牌(shuffle)排序,然后在Reducer端對已經排過序的數據表進行歸并操作。shuffle排序實際上是指將Map端各個待Join的數據表按照Join條件進行分區并分配到不同Reducer端的過程。
在典型的“星型”Join場景下,假設待Join數據表包括一個主表和n個輔表,主表包含M條數據記錄,那么在對主表和n個輔表進行Join計算時,shuffle排序需要處理的總數據量包括shuffle主表需要處理的數據量即M*n和shufflen個輔表需要處理的數據量,這會消耗很多計算資源。
【發明內容】
本申請的多個方面提供一種數據表連接方法及裝置,用以降低數據表連接操作消耗的計算資源。
本申請的一方面,提供一種數據表連接方法,包括:
接收數據表連接任務,所述數據表連接任務指示按照連接條件對第一數據表和第二數據表進行連接操作;
根據所述連接條件,將所述第二數據表中的數據記錄加載到分布式系統中至少兩個節點上;
讀取所述第一數據表中的數據記錄作為當前數據記錄,根據所述當前數據記錄對應的連接條件,從所述至少兩個節點中確定目標節點,并讀取所述目標節點上存儲的所述第二數據表中的數據記錄作為目標數據記錄;
對所述當前數據記錄和所述目標數據記錄進行連接操作。
本申請的另一方面,提供一種數據表連接裝置,包括:
接收模塊,用于接收數據表連接任務,所述數據表連接任務指示按照連接條件對第一數據表和第二數據表進行連接操作;
加載模塊,用于根據所述連接條件,將所述第二數據表中的數據記錄加載到分布式系統中至少兩個節點上;
讀取模塊,用于讀取所述第一數據表中的數據記錄作為當前數據記錄,根據所述當前數據記錄對應的連接條件,從所述至少兩個節點中確定目標節點,并讀取所述目標節點上存儲的所述第二數據表中的數據記錄作為目標數據記錄;
連接模塊,用于對所述當前數據記錄和所述目標數據記錄進行連接操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610118167.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:智能問答方法及系統
- 下一篇:一種數據同步方法及裝置





