回答
其實沒有。 mappers主要由no。由您正在使用的InputFormat創建的InputSplits和No。的減少者的否。您在地圖階段後獲得的分區。話雖如此,你還應該記住插槽的數量,每個從機可用,以及可用內存。但作爲一個經驗法則,你可以使用這種方法:
以無。的虛擬CPU * .75,這是沒有。您可以配置的插槽。例如,如果您有12個物理核心(或24個虛擬核心),則您將擁有(24 * .75)= 18個插槽。現在,根據您的要求,您可以選擇要使用的映射器和縮減器的數量。有18個MR插槽,你可以有9個映射器和9個縮減器或12個映射器和9個縮減器,或者你認爲可以與你合作的任何東西。
HTH
你不能一概而論如何映射器的數量/減速將被設定。
映射器數量: 您不能將映射器數量明確設置爲某個數(有些參數可以設置它,但它不會生效)。這是由hadoop爲您給定的一組輸入創建的輸入拆分的數量決定的。您可以通過設置mapred.min.split.size
參數來控制此設置。有關更多信息,請參閱InputSplit部分here。如果由於大量小文件而產生大量映射器,並且想要減少映射器的數量,那麼您將需要合併來自多個文件的數據。閱讀:How to combine input files to get to a single mapper and control number of mappers。
從wiki頁面引用:
地圖的數量通常是由DFS塊的數量 輸入文件驅動。雖然這會導致人們調整DFS塊的大小 來調整地圖的數量。 地圖的平行度的正確水平似乎大約爲10-100地圖/節點,儘管我們已經將它用於非常cpu光地圖任務的 至300左右。任務設置需要一段時間,所以 最好是地圖至少需要一分鐘才能執行。
實際上控制地圖的數量是微妙的。 mapred.map.tasks參數僅僅是 地圖數量的InputFormat提示。默認的InputFormat行爲是將總數爲 的字節拆分爲正確數量的片段。但是,在 默認情況下,輸入文件的DFS塊大小將被視爲輸入拆分的上限 。分割大小的下限可以是 ,通過mapred.min.split.size設置。因此,如果您希望10TB的輸入數據爲 ,並且具有128MB的DFS塊,則最終將獲得82k個地圖,除非您的mapred.map.tasks更大。最終,InputFormat決定了 地圖的數量。
也可以使用JobConf的conf.setNumMapTasks(int num)手動增加地圖任務的數量。這可以用於增加地圖任務的數量,但不會將數字設置爲低於Hadoop通過分割輸入數據所確定的數量。
數減速器: 可以明確設置減速機的數量。只需設置參數mapred.reduce.tasks
。有guidelines設置這個數字,但通常減少的默認數量應該足夠好。有時需要一個單一的報表文件,在這些情況下,您可能要減速的數量被設置爲1。
再從維基報價:
減少了正確的號碼似乎是0.95或1.75 *(節點* mapred.tasktracker.tasks.maximum)。在0.95處,所有的縮減可以立即啓動並開始傳輸地圖輸出,如地圖 完成。在1.75更快的節點將完成他們的第一輪 減少和發起第二輪減少做一個更好的工作 的負載平衡。
目前減少的數量由用於輸出文件的 緩衝器大小(io.buffer.size * 2 * numReduces < < HEAPSIZE)限定於大致1000。這將在某些時候被固定,但直到它 提供了一個非常堅定的上限。
減少的數量還控制着輸出目錄中的輸出文件的數量,但通常這並不重要,因爲下一步的 map/reduce步驟會將它們分割成更小的分割圖。
減少任務的數量也可以通過JobConf的conf.setNumReduceTasks(int num)以與地圖任務 相同的方式增加。
- 1. 地圖和減少任務的排序
- 2. 使用分佈式計算減少地圖減少尺寸?
- 3. hadoop如何減少任務處理地圖分組數據
- 4. Hadoop基礎:地圖任務映射器的數量減少任務減速器
- 5. 地圖減少地圖減少
- 6. CouchDB的地圖,減少和分組
- 7. 多少個地圖和減少任務配置單元和桶表
- 8. 在hadoop中,如何減少任務從地圖任務中拉數據
- 9. 結合地圖和減少
- 10. Mongodb使用地圖的字數減少
- 11. 分離Hadoop映射並減少任務
- 12. 分佈式映射/減少框架
- 13. 在僞分佈式hadoop中並行運行的Mapreduce任務
- 14. mongoDB地圖/減少
- 15. 減少數字的公式
- 16. Hadoop在地圖任務完成前減少
- 17. 從地圖查看日誌/減少任務
- 18. 如何多次重複地圖/減少任務?
- 19. RavenDB地圖/按日期分組減少
- 20. 分佈式性質任務和阿卡
- 21. 寫入任意地圖和減少功能
- 22. 火花減少和地圖問題
- 23. 減少任務和減速器之間的區別
- 24. 我要減少數量字段和減少其數量
- 25. Hadoop地圖減少:算法
- 26. mongodb的地圖減少value.count
- 27. 地圖在RavenDb減少
- 28. 地圖減少沒有hadoop
- 29. 搜索地圖/減少
- 30. Hadoop的 - 地圖-減少 - java.lang.NoClassDefFoundError