第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

hadoop 2.2.0 關(guān)于map和reduce的個(gè)數(shù)的設(shè)置

hadoop 2.2.0 關(guān)于map和reduce的個(gè)數(shù)的設(shè)置

蝴蝶不菲 2019-04-14 09:52:24
關(guān)于hadoop中的map過程,我的理解是每一個(gè)map系統(tǒng)會開啟一個(gè)JVM進(jìn)程來處理,map之間相互并行,map函數(shù)內(nèi)串行。這樣的想法是否正確?由于想在hadoop集群上算一個(gè)初始輸入數(shù)據(jù)不多,但是計(jì)算很復(fù)雜的程序,希望通過mapreduce來達(dá)到并行計(jì)算的目的??梢酝ㄟ^job.setNumReduceTasks(0);語句設(shè)置reduce個(gè)數(shù)為0,只使用map來計(jì)算。但是設(shè)置map的個(gè)數(shù)時(shí)遇到了問題:新的API中job沒有類似setNumMapTasks()這樣的方法;在運(yùn)行時(shí)加入?yún)?shù)-Dmapreduce.map.tasks=2這樣的參數(shù)也無效。查過好多資料,好像是說map的個(gè)數(shù)取決于block_size、total_size等參數(shù)。但是都說的是1.x版本的設(shè)置,hadoop2.2.0上并沒有找到mapred.map.tasks、mapred.min.split.size等對應(yīng)的設(shè)置方法。由于我的輸入文件只有一個(gè)文件,而且不算是“大數(shù)據(jù)”,只是單純想在hadoop上實(shí)現(xiàn)并行,所以我希望能夠設(shè)置一個(gè)最少的map數(shù)目,以便能在各個(gè)計(jì)算節(jié)點(diǎn)上并行。請問我應(yīng)該如何設(shè)置?
查看完整描述

2 回答

?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

事隔10天后無人回答,再次自問自答(—.—!)。最近看到一本書,上面介紹自定義InputFormat來控制map個(gè)數(shù)以及存儲位置。稍微看了下FileInputFormat的接口,發(fā)現(xiàn)居然有setMaxInputSplitSize()這個(gè)靜態(tài)方法。(自己以前怎么沒發(fā)現(xiàn)??!也怪自己懶,不愿意去找)在run方法中加了這么一句FileInputFormat.setMaxInputSplitSize(job,1048576),再次運(yùn)行貌似有效,程序生成了6個(gè)map來運(yùn)行。
但感到?jīng)]法解釋的有兩點(diǎn):
1.此處設(shè)置的值為1048576(1M),我的輸入文件有20.95MB,如果最大份片大小為1M的話應(yīng)該有20多個(gè)map。其中必然有更細(xì)致的判斷,還得研究以下相應(yīng)處理的代碼才能解決;
2.6個(gè)map全在同一個(gè)節(jié)點(diǎn)上運(yùn)行,沒有分到不同節(jié)點(diǎn)上;
我的環(huán)境為hadoop2.2.0,我曾經(jīng)試過修改dfs.blocksize等配置參數(shù),但是似乎都沒有生效。不知道為什么會出現(xiàn)配置參數(shù)無效的情況。
補(bǔ)充:剛才了解到最終的分片大小splitSize受到maxsize、minsize以及blocksize的影響。設(shè)置FileInputFormat.setMinInputSplitSize(job,1)后,map數(shù)果然達(dá)到了20。
                            
查看完整回答
反對 回復(fù) 2019-04-14
  • 2 回答
  • 0 關(guān)注
  • 404 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號