我想我的問題讓每個人都感到困惑。更清晰一點。 我正在嘗試訂購我的數據。 說我的數據(記錄數)是這樣強制Hadoop將地圖任務設置爲1
0 1 2 3 4
1 3 8 9 2
2 8 7 9 7
和我的塊大小爲128 MB和文件大小爲380 MB(3塊) 我想給一個訂單號碼到我的記錄。
1,0 1 2 3 4
2,1 3 8 9 2
3,2 8 7 9 7
爲了給出正確的數字,我需要將數據導入1張地圖,否則,如果我得到3張地圖任務,我的編號不會是正確的。
所以如果我這樣做,我會得到整個數據,因爲它是正確的? 輸入到我的映射器類的數據不會發生變化,它將成爲我的原始數據,不是嗎?
一旦我使用
-D mapreduce.job.maps=1
或
沒有設定映射器的1conf.setInt("mapreduce.job.running.map.limit", 1);
我的輸出產生3部分-M-000 *文件
我使用Hadoop 2.6。 0-cdh5.4.7 cloudera版本。
我做錯了什麼? 請指教
所以,即使在設置mapreduce.job.maps = 1之後,你還在說3個映射器?這是你的擔心嗎? –
@ManjunathBallur:是的 –