我只是Hadoop框架中的初學者。我想在這裏理解一些概念,並瀏覽瞭如此多的鏈接,但我想要得到明確的答案 1)爲什麼Map只使用鍵值對減少工作量。我還讀到,我可以創建一個實際使用的Map Reduce作業減少 2)映射階段輸入的關鍵是fileoffset鍵。我可以使用顯式鍵值嗎?或自定義輸入?地圖中的鍵值減少
Q
地圖中的鍵值減少
0
A
回答
1
好的,你正在挖掘hadoop的概念。
1)我可以使用顯式鍵值嗎?或自定義輸入?:是的,編寫自己的(覆蓋)RecordReader
這樣做。
2)爲什麼Map僅使用Key Value對減少作品?: MapReduce,顧名思義,程序只是將所需數據映射(過濾)到從程序提供的數據集中Reduce(基於唯一鍵的Combination)。 現在,爲什麼鍵值對?:因爲你正在處理非結構化數據,所以不希望得到與輸出一樣的結果。我們將需要對數據進行一些操作。想一想在java中使用Map,它有助於唯一標識這對,在hadoop中也是如此,在Sort的幫助下也是如此。
創建一個Map reduce作業,但實際上並沒有使用reduce?: Ofcourse完全依賴但建議僅用於小型操作,並且不需要將您的mapper輸出組合爲預期輸出。
原因:這裏是分佈式概念,商品硬件要優先考慮。例如:我有一個大型數據集要處理。在使用java程序(只是java,而不是hadoop)處理數據集時,我們存儲了Collection
對象中的必需項(與使用RAM空間一樣簡單)。 Hadoop被引入以不同的方式完成相同的工作:將需要的數據存儲在context
中。映射器中的上下文指的是中間數據(本地FS),還原器指輸出(HDFS)。當然,兩種情況下的上下文都存儲在HardDisk中。
Hadoop有助於在HardDisk中執行所有計算而不是RAM。
我建議閱讀Hadoop Defenitive Guide,數據算法書爲更好的理解。
相關問題
- 1. 地圖,減少多個鍵
- 2. 地圖減少地圖減少
- 3. 返回值作爲在地圖上的關鍵減少
- 4. mongoDB地圖/減少
- 5. couchdb減少非鍵值
- 6. mongodb的地圖減少value.count
- 7. Hadoop的 - 地圖-減少 - java.lang.NoClassDefFoundError
- 8. 地圖減少erlang中的查詢
- 9. Hadoop地圖減少:算法
- 10. 地圖在RavenDb減少
- 11. 地圖減少沒有hadoop
- 12. 搜索地圖/減少
- 13. 結合地圖和減少
- 14. 地圖時間戳減少
- 15. 加入地圖減少
- 16. hadoop - 地圖/減少功能
- 17. 減少地圖元組
- 18. 瞭解地圖 - 減少
- 19. Hadoop地圖/減少鏈接
- 20. 遷移減少到地圖
- 21. 十大路徑縮減地圖減少
- 22. 地圖如何減少從輸入文件中讀取得到鍵和值
- 23. 哈託普地圖中的全球價值減少
- 24. 在地圖中使用numofreducers減少
- 25. Hadoop中 - 地圖,減少誤差filesplit
- 26. 在Java中減少地圖Hadoop
- 27. 節點 - 本地地圖減少工作
- 28. 減少鍵,列表(值)鍵,使用scala的值
- 29. cygwin的hadoop的地圖,減少問題
- 30. Hadoop排序映射並減少鍵值
1)您需要理解shuffle和sort階段的概念,以瞭解爲什麼鍵值有意義。 2)你可以使用任何你想要的密鑰。爲了讀取幾乎任何可觸發的文件,該偏移量是完美的,因爲它允許在整個 –
之間映射可均勻分割的塊。請閱讀http://stackoverflow.com/questions/10630447/hadoop-difference-between-0-reducer-and-identity-reducer –