【MapReduce】總集

學習MapReduce的階段性總結,開個坑,慢慢更新

MapReduce已經預定義(或者說寫好)了整個數據分析的流程,所以只按照相應的要求把業務需求融入進去就好。但是程序員就是放蕩不羈愛自由。實際業務中的需求也是千奇百怪,所以我們在按照MapReduce的流程走的同時,針對具體的各個環節是可以自定義的。

從Map階段開始,可以採用不同的input的方式(TextInputFormat(默認),CombineTextInputFormat(針對小文件過多的情形),KeyValueTextInputFormat(K-V形式的源數據),NLineInputFormat(多行確定數據的))還可以自定義InputFormat(主要是自定義RecordReader,主要是重寫nextKeyValue(),決定K和V)

進入Reduce階段之前,還有shuffle階段,可以自定義分區的方式(Partitioner),可以自定義排序(WritableComparable),還可以在自定義排序的基礎上分組(GroupingComparator),同時還可以選擇是否要提前合併一下分區的數據(Combiner)以加快Reduce的運行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章