[發明專利]基于MapReduce實現分析函數的方法及系統有效
| 申請號: | 201210580817.1 | 申請日: | 2012-12-27 |
| 公開(公告)號: | CN103902592B | 公開(公告)日: | 2018-02-27 |
| 發明(設計)人: | 張書彬;田萬鵬;肖品;鮑春健;郭瑋 | 申請(專利權)人: | 深圳市騰訊計算機系統有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙)44285 | 代理人: | 王仲凱 |
| 地址: | 510075 廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 mapreduce 實現 分析 函數 方法 系統 | ||
1.一種基于MapReduce實現分析函數的方法,其特征在于,包括:
表掃描算子從文件塊獲取數據行,將所述數據行發送至映射算子;
所述映射算子接收所述數據行,確定分析函數的歸約鍵、分割鍵和排序鍵,通過MapReduce框架將所述數據行發送至分析算子,所述分析算子屬于所述MapReduce框架的Reduce端;
所述分析算子接收所述數據行,將所述數據行存儲于分析算子緩沖區;
所述分析算子解析出所述數據行的分區字段;
若根據所述分區字段確定所述數據行屬于當前分區,則調用分析函數對應的分析器對所述數據行進行分析,得到分析結果,將所述分析結果存儲于分析器緩沖區;
若根據所述分區字段確定所述數據行不屬于當前分區,則結束對所述當前分區的分析,將所述分析算子緩沖區中存儲的當前分區的所有數據行、以及所述分析器緩沖區中存儲的當前分區的所有分析結果匯總成新的數據行轉發至后繼算子;
其中所述當前分區是所述分析算子接收到的上一數據行所屬的分區。
2.根據權利要求1所述的方法,其特征在于,所述確定分析函數的歸約鍵包括:
將所述分析函數的分區子句中的列以及排序子句中的列作為歸約鍵。
3.根據權利要求1所述的方法,其特征在于,所述確定分析函數的歸約鍵,包括:
當所述分析函數沒有排序子句但有distinct關鍵字時,以distinct列作為歸約鍵。
4.根據權利要求1所述的方法,其特征在于,所述確定分析函數的歸約鍵,包括:
當分析函數不含分區子句、排序子句,也不含distinct關鍵字時,指定任意常量作為歸約鍵。
5.根據權利要求1所述的方法,其特征在于,所述確定分析函數的分割鍵,包括:
將所述分析函數的分區子句中的列作為分割鍵。
6.根據權利要求1所述的方法,其特征在于,所述確定分析函數的分割鍵,包括:
當所述分析函數不含分區子句時,以與歸約鍵相同的常量作為分割鍵。
7.根據權利要求1所述的方法,其特征在于,所述確定分析函數的排序鍵,包括:
當所述分析函數含有排序子句時,以排序子句中的列作為排序鍵。
8.根據權利要求1所述的方法,其特征在于,如果所述分析函數不需要累計,那么在所述調用分析函數對應的分析器對所述數據行進行分析,得到分析結果之后,直接將所述數據行和分析結果匯總轉發至后繼算子,無需對所述數據行和分析結果進行緩存。
9.根據權利要求1所述的方法,其特征在于,所述分析算子緩沖區包括內存緩沖區和磁盤緩沖區,所述分析算子緩沖區優先將接收的新數據行放入內存緩沖區;如果內存緩沖區已滿,則將內存緩沖區中較舊的數據行存入所述磁盤緩沖區,以釋放內存緩沖區的存儲空間。
10.根據權利要求1所述的方法,其特征在于,所述分析器緩沖區包括內存緩沖區和磁盤緩沖區,所述內存緩沖區包括輸出緩沖區和輸入緩沖區,所述分析器緩沖區用于對分析結果進行緩沖和更新;
所述分析器緩沖區對分析結果進行緩沖時,將所述分析結果存儲于所述輸出緩沖區;如果所述輸出緩沖區已滿,則將所述輸出緩沖區中的內容存入所述磁盤緩沖區,以釋放所述輸出緩沖區的存儲空間;
所述分析器緩沖區對分析結果進行更新時:
如果待更新行存儲于輸出緩沖區,則直接根據所述輸出緩沖區中的待更新行和接收到的新數據行對分析結果進行更新;
如果待更新行存儲于輸入緩沖區,則直接根據所述輸入緩沖區中的待更新行和接收到的新數據行對分析結果進行更新;
如果待更新行存儲于磁盤緩沖區,則將所述輸入緩沖區中的內容存儲到所述磁盤緩沖區,并將所述磁盤緩沖區中的待更新行所在的緩沖塊讀入所述輸入緩沖區,以使得根據所述輸入緩沖區中的待更新行和接收到的新數據行對分析結果進行更新。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市騰訊計算機系統有限公司,未經深圳市騰訊計算機系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210580817.1/1.html,轉載請聲明來源鉆瓜專利網。





