我試圖減少mapreduce作業在我的數據流中的延遲,並且我希望使用hdfs-api連續地尾縮減速器part-xxxx文件的輸出,而不是在作業完成後讀取它。但我想知道這對於hadoop工作是安全的嗎?減速機還在運轉時可以讀減速機輸出嗎?
1
A
回答
1
當您使用基於FileOutputFormat
輸出格式(文字,序文件ETX),他們利用一種常見FileOutputCommitter
負責提交或中止減速器輸出時,它成功/失敗等
在幕後,當您的reducer寫入輸出時,它會寫入您指定的HDFS輸出目錄的_temporary子目錄。
當reducer完成時,作業跟蹤器將表示reducer嘗試的一個特定實例(記住推測執行,reducer任務嘗試可能運行1次或多次)作爲最終輸出並指示輸出提交者提交減速器輸出的版本(其他嘗試將被中止)。
當輸出提交者提交嘗試輸出時,它僅僅將part-r-xxxxx文件從嘗試臨時目錄移動到指定的輸出目錄。
因此,考慮到這一點,當您在輸出目錄中看到part-r- *文件時,將完全寫入並且可以安全地拖尾。因此,從這個意義上說,您可以在處理Reducer輸出時獲得跳躍(例如,您在1000個Reducer插槽集羣上運行10K Reducer) - 但是無法安排另一個Map/Reduce作業來處理此輸出,但只有Reducer輸出完成後將用於下一個地圖縮小作業(作業提交時,它只會考慮當前可用的文件作爲輸入,它不會連續掃描作業提交後出現的新文件)。
您還應該考慮到您的工作可能實際上在最後幾個reducer中失敗 - 在這種情況下,您是否仍然希望急切地處理那些在失敗之前完成的reducer輸出,或者您只想處理if整個工作完成(這對大多數工作來說更有意義)。
相關問題
- 1. 減速時機
- 2. 設計/組合減速機減速機
- 3. 合併減速機在另一減速
- 4. 的Hadoop:減速機輸出到另一個減速
- 5. 減速機爲空時,商店沒有有效的減速機
- 6. MapReduce的減速機的輸出錯誤
- 7. 「減速」輸出
- 8. 高階減速機應用於多個減速機
- 9. 從不同的減速機訪問減速機?
- 10. 添加功能,減速機
- 11. 減速機停止工作
- 12. 減速機vs動作
- 13. 機車減速爬行
- 14. 我的減速機的輸出鍵類型可能與輸入不同嗎?
- 15. 從減速器輸出文件讀取
- 16. 減速機因死機而卡死
- 17. 減速機第一次調用時
- 18. 減速機階段完全沒有啓動。它總是'減速機= 0%'
- 19. 可以修改UIScrollView的減速率嗎?
- 20. 你可以使用組合減速器組成深層狀態減速器嗎?
- 21. Hadoop的映射,與減速機的輸出不匹配
- 22. 如何對減速機輸出進行排序?
- 23. 減速機輸出到基於密鑰的不同文件
- 24. hadoop減速機是否有超時輸入?
- 25. 減速機班是否可以啓動?在減速器日誌中看不到Sytem.out.println語句
- 26. 減速機不知道我的狀態在反應減少
- 27. Pylzma減壓減速
- 28. 如何強制級聯減速機?
- 29. Redux行動不叫減速機
- 30. 減速機未更新商店