03_MapReduce框架原理_3.14. MapReduce 開發總結
1. 輸入資料介面 :InputFormat
1. 預設使用的實現類 :TextInputFormat
一次讀取一行文字,該行的起始偏移量為key,行內容為value
2. CombineTextInputFormat 可以將多個小檔案合併成一個切片處理,提高處理效率
3. 部落格連線https://www.cnblogs.com/bajiaotai/p/15709100.html
2. 邏輯處理介面 : Mapper
1. 根據使用者業務需求 實現三個方法 : map()、setup()、cleanup()
3. 分割槽 : Partitioner
1. HashPartitioner 預設實現
根據key的雜湊值和numReduces來返回一個分割槽編號
key.hashCode()&Integer.MAXVALUE % numReduces
2. 可繼承 Paritioner來自定義 分割槽器
3. 部落格連線https://www.cnblogs.com/bajiaotai/p/15720511.html
4. 排序 : Comparable
1. 當自定義物件為key時,必須實現WritableComparable介面,並重寫compareTo()方法
2. 部落格連線https://www.cnblogs.com/bajiaotai/p/15734910.html
5. 邏輯處理介面 : Reducer
1. 根據使用者業務需求 實現三個方法 : reduce()、setup()、cleanup()
6. 輸出資料介面 : OutputFormat
1. TextOutputFormat 預設實現
將每個key、value 向目標檔案輸出一行
2. 可以根據自定義OutputFormat
3. 部落格連線https://www.cnblogs.com/bajiaotai/p/15741122.html