[發明專利]基于MapReduce實現分析函數的方法及系統有效
| 申請號: | 201210580817.1 | 申請日: | 2012-12-27 |
| 公開(公告)號: | CN103902592B | 公開(公告)日: | 2018-02-27 |
| 發明(設計)人: | 張書彬;田萬鵬;肖品;鮑春健;郭瑋 | 申請(專利權)人: | 深圳市騰訊計算機系統有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙)44285 | 代理人: | 王仲凱 |
| 地址: | 510075 廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 mapreduce 實現 分析 函數 方法 系統 | ||
技術領域
本發明涉及數據倉庫領域,尤其涉及一種基于MapReduce實現分析函數的方法及系統。
背景技術
數據倉庫(Data Warehouse)是按照數據結構來組織、存儲和管理數據的倉庫。隨著計算機的推廣,數據倉庫已經廣泛的應用于工作和生活中。目前,隨著互聯網及信息技術的快速發展,數據倉庫不僅僅是存儲和管理數據,且具備了較強的分析數據的能力。常用的數據庫,例如ORACLE、PostgreSQL等,均提供了多個分析函數,可以根據用戶需求對數據進行分析,向用戶提供分析結果。分析函數用于計算基于數據組的某種聚集值,與聚集函數不同,分析函數對數據組進行處理后返回多行數據,而聚集函數對數據組進行處理后返回一行數據。
MapReduce是一種編程模型,用于大規模數據集的并行運算。在實現本發明的過程中,發明人發現目前基于MapReduce框架的分布式數據倉庫(例如Hive數據倉庫)無法進行實現分析函數進行數據處理,在數據庫的使用過程中帶來諸多不便。
發明內容
本發明的實施例提供一種基于MapReduce實現分析函數的方法及系統,能夠解決基于MapReduce框架的分布式數據庫無法實現分析函數進行數據處理的問題。
為達到上述目的,本發明的實施例采用如下技術方案:
第一方面,本發明實施例提供了一種基于MapReduce實現分析函數的方法,所述方法包括:
表掃描算子從文件塊獲取數據行,將所述數據行發送至映射算子;
所述映射算子接收所述數據行,確定分析函數的歸約鍵、分割鍵和排序鍵,通過MapReduce框架將所述數據行發送至分析算子,所述分析算子屬于所述MapReduce框架的Reduce端;
所述分析算子接收所述數據行,對所述數據行進行分析得到分析結果,并將所述數據行和分析結果轉發至后繼算子。
第二方面,本發明實施例還提供了一種基于MapReduce實現分析函數的系統,所述系統包括掃描算子、映射算子和分析算子,其中:
所述掃描算子用于從文件塊獲取數據行,將所述數據行發送至映射算子;
所述映射算子用于接收所述數據行,確定分析函數的歸約鍵、分割鍵和排序鍵,通過MapReduce框架將所述數據行發送至分析算子,所述分析算子屬于所述MapReduce框架的Reduce端;
所述分析算子用于接收所述數據行,對所述數據行進行分析得到分析結果,并將所述數據行和分析結果轉發至后繼算子。
本發明實施例提供的基于MapReduce實現分析函數的方法及系統,能夠應用于基于MapReduce框架的分布式數據庫(例如騰訊分布式數據倉庫、Hive數據庫等)以實現數據分析,增加基于MapReduce框架的分布式數據庫的功能,從而使得用戶在基于MapReduce框架的分布式數據庫中進行數據分析。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例一提供的基于MapReduce實現分析函數的方法的流程示意圖;
圖2為本發明實施例二提供的基于MapReduce實現分析函數的方法的流程示意圖;
圖3為本發明實施例二提供的分析算子緩沖區的結構示意圖;
圖4為本發明實施例二提供的分析器緩沖區的結構示意圖;
圖5、圖6為本發明實施例三提供的基于MapReduce實現分析函數的系統的結構示意圖;
圖7-圖14為本發明實施例二提供的基于MapReduce實現分析函數的方法中針對窗口字句的8種模式示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
實施例一
本發明實施例提供了一種基于MapReduce實現分析函數的方法,適用于基于MapReduce框架的分布式數據倉庫進行數據分析,如圖1所示,所述方法包括:
101、表掃描算子(TableScanOperator)從文件塊獲取數據行,將所述數據行發送至映射算子。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市騰訊計算機系統有限公司,未經深圳市騰訊計算機系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210580817.1/2.html,轉載請聲明來源鉆瓜專利網。





