我有一個用例,其中映射階段生成的某些鍵需要在減少踢入之前被過濾出來。是這樣的嗎?請告訴我。hadoop過濾映射輸出
回答
修改Mapper類以過濾輸入將會更加準確,因爲不能保證組合器的執行,Hadoop可能會也可能不會執行組合器。此外,如果需要,它可能會執行多次。因此,您的MapReduce作業不應依賴於組合器的執行。
浮現在腦海中一對夫婦的選擇:
- 修改您的映射不輸出要篩選
- 編寫過濾掉你不想要的值減速的值,飼料該減速器的輸出到另一個MapReduce作業
使用組合器不是此任務的好選擇,因爲@ 100gods提到,組合器執行不能保證。
如果他無法更改映射器的代碼,他也可以使用Combiners過濾出這些值。 –
謝謝你們兩位!合併器似乎是更好的選擇,因爲我無法更改映射器代碼。 –
合併器?這個選項不正確。不能保證組合器代碼能夠執行。如上所述,最好的選擇是「不發出你需要濾除的關鍵值對」。 –
- 1. Spring Security多個filterChainProxy映射/過濾器,自定義過濾器Json輸出
- 2. 過濾器映射問題
- 3. Servlet過濾器url映射
- 4. 映射器輸入鍵值對Hadoop中
- 5. Hadoop遞歸映射
- 6. Hadoop映射進程
- 7. Hadoop映射器可以在輸出中生成多個鍵嗎?
- 8. 多個輸出文件Hadoop的數據流與Python映射
- 9. Hadoop的映射,與減速機的輸出不匹配
- 10. 訪問hadoop中間映射輸出文件
- 11. 從Hadoop中的映射器生成多個輸出文件MapReduce
- 12. Hadoop返回映射器的輸出而不是reducer
- 13. Hadoop映射輸出類型對於性能
- 14. servlet/servlet映射和過濾器/過濾器映射之間的區別?
- 15. HADOOP - 作爲映射器輸出產生的輸出文件的數量
- 16. Hadoop的,如何壓縮映射器輸出,但不減速機輸出
- 17. 通過Swift詞典過濾和映射?
- 18. 通過Seq映射到過濾
- 19. 'SUM()' 中的輸出映射
- 20. Hadoop - 文件到塊映射
- 21. Hadoop的流單映射
- 22. Hadoop的許多映射器
- 23. Hadoop未找到映射類
- 24. Hadoop幾個映射器
- 25. HADOOP:從映射器發射矩陣
- 26. servlet過濾器映射重疊
- 27. 映射$過濾器,以LINQ哪裏
- 28. 同時過濾和映射java流
- 29. Groovy中 - 加入過濾器映射
- 30. C#richTextBox過濾或重映射擊鍵
我在我的mapper中使用TextInputFormat,它每次只讀一行。我想標記一個文件,如果在某行中發現了某種模式...但是因爲所有的map任務都是並行運行的,所以我無法知道某個文件是否被「標記」,直到所有行被掃描。這是我堅持的地方。 –
你在使用合成器的觀點是爲什麼我沒有在我的答案中提到這些。我想我應該明確地說過。 – highlycaffeinated