[發(fā)明專利]一種提高Mapreduce任務(wù)Shuffle性能的控制器調(diào)度方法有效
| 申請?zhí)枺?/td> | 201710684587.6 | 申請日: | 2017-08-11 |
| 公開(公告)號: | CN107391250B | 公開(公告)日: | 2021-02-05 |
| 發(fā)明(設(shè)計)人: | 朱虹錦;王國謙;鄧小旭 | 申請(專利權(quán))人: | 成都優(yōu)易數(shù)據(jù)有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 成都弘毅天承知識產(chǎn)權(quán)代理有限公司 51230 | 代理人: | 徐金瓊;劉東 |
| 地址: | 611730 四川省成都市郫縣德源鎮(zhèn)(菁*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 提高 mapreduce 任務(wù) shuffle 性能 控制器 調(diào)度 方法 | ||
1.一種提高Mapreduce任務(wù)Shuffle性能的控制器調(diào)度方法,其特征在于,包括以下幾個步驟:
步驟1:用戶提供必備參數(shù);生成控制器,再根據(jù)必備參數(shù)對控制器進行定義;
步驟2:加載步驟1中的進行定義后的控制器,生成臨時Mapper任務(wù),采集臨時Mapper任務(wù)結(jié)果數(shù)據(jù),分析臨時Mapper任務(wù)中產(chǎn)生的Key,控制器根據(jù)臨時Mapper任務(wù)的分區(qū)方式確定Reducer任務(wù)的啟動節(jié)點;
步驟3:啟動Mapreduce任務(wù),在進行Reducer任務(wù)前調(diào)度步驟2的控制器,確定Reducer任務(wù)的啟動節(jié)點,啟動Reducer任務(wù),最后輸出Mapreduce任務(wù)的最終結(jié)果;
所述步驟2包括以下幾個步驟:
步驟2.1:根據(jù)定義的必備參數(shù),生成一個臨時Mapper任務(wù),同時不輸出KV,分析必備參數(shù),得到臨時Mapper任務(wù)的啟動位置及啟動個數(shù);
步驟2.2:啟動步驟2.1的任務(wù),同時在每個臨時Mapper任務(wù)中嵌入統(tǒng)計Key的計數(shù)器,該計數(shù)器對分區(qū)、Key、臨時Mapper任務(wù)的節(jié)點位置和Key的數(shù)量進行動態(tài)統(tǒng)計,在每個臨時Mapper任務(wù)結(jié)束時將對應(yīng)的統(tǒng)計結(jié)果更新到數(shù)據(jù)庫;
步驟2.3:設(shè)運行臨時Mapper任務(wù)的節(jié)點有n個,在臨時Mapper任務(wù)的n個節(jié)點中選擇任意m個節(jié)點作為Reducer任務(wù)的運行節(jié)點,一共有選擇方式,設(shè)其中任一一種選擇方式為一個分區(qū),對分區(qū)進行編號,有m!種編號方式;
步驟2.4:設(shè)每個j對應(yīng)一種分區(qū),每種分區(qū)編號下Shuffle進程數(shù)據(jù)傳輸量為vi,i∈(0,m!-1),對Key進行采樣,統(tǒng)計每個Mapper節(jié)點對應(yīng)分區(qū)的數(shù)據(jù)量,并把這個結(jié)果寫入到HDFS臨時文件,由HDFS臨時文件統(tǒng)計每個map節(jié)點輸出的數(shù)據(jù)在某個分區(qū)中的數(shù)據(jù)量,得到vi;
設(shè)最佳vi為vmin,vmin滿足以下公式:
步驟2.5:用按照公式和限制條件得出的vmin確定m個節(jié)點,并按照得出的節(jié)點進行分區(qū)編號得到一組節(jié)點,該組節(jié)點為Shuffle進程中傳輸數(shù)據(jù)量最小、傳輸距離最短的節(jié)點;
步驟2.6:將步驟2.5得到的一組節(jié)點設(shè)置為Reducer任務(wù)的執(zhí)行節(jié)點。
2.根據(jù)權(quán)利要求1所述的一種提高Mapreduce任務(wù)Shuffle性能的控制器調(diào)度方法,其特征在于,所述步驟3包括以下幾個步驟:
步驟3.1:所述Mapreduce任務(wù)的Shuffle進程分為Map端和Reduce端;輸入分片到Map端,每個輸入分片由對應(yīng)的每個Mapper任務(wù)進行處理,然后將Mapper任務(wù)處理結(jié)果放在一個環(huán)形內(nèi)存緩沖區(qū),若環(huán)形內(nèi)存緩沖區(qū)溢出,則在本地文件系統(tǒng)中創(chuàng)建一個溢出文件,將環(huán)形內(nèi)存緩沖區(qū)的數(shù)據(jù)寫入這個溢出文件;
步驟3.2:根據(jù)Reducer任務(wù)的數(shù)目將數(shù)據(jù)劃分為相同數(shù)目的分區(qū),同時啟動步驟2的控制器;
步驟3.3:輸入分片經(jīng)過Mapper任務(wù)處理完成后,將Mapper任務(wù)處理過程中產(chǎn)生的溢出文件進行合并,再將合并文件輸出到Reduce端;
步驟3.4:Reduce端接收Map端輸出的合并文件,再進行合并處理,再由步驟2的控制器確定Reducer任務(wù)的執(zhí)行節(jié)點,然后開始Reducer任務(wù);
步驟3.5:經(jīng)過Reducer任務(wù)處理后,輸出處理后的結(jié)果。
3.根據(jù)權(quán)利要求1所述的一種提高Mapreduce任務(wù)Shuffle性能的控制器調(diào)度方法,其特征在于,所述步驟1中所述必備參數(shù)包括輸入路徑、自定義分區(qū)器、Mapper任務(wù)輸出的KV類型。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于成都優(yōu)易數(shù)據(jù)有限公司,未經(jīng)成都優(yōu)易數(shù)據(jù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710684587.6/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種處理串行任務(wù)的數(shù)據(jù)處理裝置及方法
- 一種將MapReduce轉(zhuǎn)換為SQL的方法和裝置
- 一種基于MapReduce的數(shù)據(jù)處理方法和裝置
- MapReduce應(yīng)用的相關(guān)參數(shù)的配置方法和裝置
- MapReduce作業(yè)處理系統(tǒng)、服務(wù)器及處理方法
- 一種考慮任務(wù)相關(guān)性的Hive優(yōu)化方法及系統(tǒng)
- 一種運行MapReduce作業(yè)的方法、裝置及系統(tǒng)
- 一種數(shù)據(jù)查詢的優(yōu)化方法和裝置
- 一種Sqoop集成多版本HBase的方法及裝置
- 一種計算HiveSql執(zhí)行進度的方法
- 一種MapReduce系統(tǒng)
- 一種考慮任務(wù)相關(guān)性的Hive優(yōu)化方法及系統(tǒng)
- 一種針對異構(gòu)存儲的Shuffle方法
- 一種Spark平臺Shuffle過程壓縮算法決策方法
- 基于內(nèi)核旁路技術(shù)的Hadoop map-reduce計算加速方法
- 通用流式Shuffle引擎的實現(xiàn)方法、裝置、設(shè)備及存儲介質(zhì)
- 任務(wù)調(diào)度方法、裝置、設(shè)備及計算機可讀存儲介質(zhì)
- 基于Spark架構(gòu)的數(shù)據(jù)均衡分區(qū)方法及計算機存儲介質(zhì)
- 針對大數(shù)據(jù)處理平臺Hadoop的攻擊方法
- 一種基于容器的分布式計算方法和裝置





