我想爲字計數實現hadoop reducer。 在我的reducer中,我使用散列表來計算單詞。但是,如果我的文件非常大,散列表將使用極端數量的內存。如何解決此問題? (例如,一個包含1000萬行每個reducer的文件接收1億個單詞,他如何計算散列表需要1億個密鑰的單詞) 我目前的實現是使用python。 有沒有一種智能的方法來減少內存的數量?針對大文件的高效Hadoop字計數
0
A
回答
0
要做到這一點,最有效的方法是在映射器中維護詞頻的哈希映射,並在達到特定大小(例如100,000條目)時將其刷新到輸出上下文。然後清除地圖並繼續(記住要在清理方法中刷新地圖)。
如果您仍然真的擁有數百萬字,那麼您需要等待很長時間才能完成縮減程序,或者增加羣集大小並使用更多的縮減程序。
相關問題
- 1. 針對高效SELECT的SQL表設計
- 2. 針對大/不精確數據量計算統計信息的高效方法
- 3. 如何高效地緩存hadoop map中的大文件reduce jobs?
- 4. Hadoop針對Eclipse的文檔
- 5. 針對大數據量的存儲器高效哈希算法
- 6. 針對某些操作的高效文件系統API
- 7. 大文件的Silverlight高效哈希
- 8. 高級文件指針跳過文件中的數字
- 9. Hadoop的字計數例
- 10. Hadoop大數據文件文本搜索
- 11. 高效估計的大名單
- 12. 在Hadoop Mapreduce字數統計中獲取最大字數
- 13. hadoop字數統計並獲取最大字數
- 14. 針對多用戶Web應用程序的高效MySQL數據庫設計
- 15. 針對大數據集存儲和匹配名稱的高效方法
- 16. 使用Hadoop的高性能計算機的成本效益
- 17. 兩個大文本文件的高效文件比較
- 18. 針對在任意位置編輯的基於文本文件的高效設計?
- 19. 瞭解Hadoop文件系統計數器
- 20. Hadoop字數統計示例 - 空指針異常
- 21. 針對java的整數集的內存高效存儲器
- 22. 大量小文件Hadoop
- 23. 這是針對反垃圾郵件的高效編碼嗎?
- 24. 大文件和其他小文件之間的高效差異
- 25. 高效的方法文件大文件下載
- 26. 針對按位數據的高效RLE創意
- 27. 針對二維幾何數據的高效近接查詢
- 28. 針對mysql數據庫克隆的高效方法/工具
- 29. 針對數據庫條目的高效唯一密鑰生成
- 30. Hadoop計數器文檔?
我錯過了什麼嗎?但是如果你只是在計算單詞數量,你不需要一個長達100米的哈希表,因爲你會得到很多重複。例如,你可能會得到250k的單詞「the」。難道你不能通過一個增加'collections.Counter'的函數逐行傳輸數據嗎? – kreativitea
對不起我的錯誤我想說的是,對於1000萬個不同的單詞,例如我需要一個散列表中的1000萬個條目 – nikosdi
1億個不同的單詞,真的嗎? http://oxforddictionaries.com/words/how-many-words-are-there-in-the-english-language –