Hadoop学习之MapReduce(二)
在通過WordCount的例子直觀地了解了MapReduce框架的作業如何編寫后,現在對MapReduce框架中的關鍵接口或者類進行深入地地探索和學習。主要講解Hadoop1.x中的接口和類,也就是org.apache.hadoop.mapreduce包中的接口和類,上面介紹的WordCount作業也是實現了這個包中的接口和類。首先會介紹Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>和Reducer<KEYIN,VALUEIN,KEYOUT,VALUEOUT>類,應用程序一般通過集成這兩個類來實現map和reduce方法,而不同于之前版本中實現Mapper和Reducer接口。然后會介紹其它的接口或者類,包括InputFormat<K,V>、Job、Configuration 、OutputFormat<K,V>、Partitioner<KEY,VALUE>、Context、ToolRunner、Tool、Configured 等。最后通過介紹MapReduce的一些有用的特性,比如DistributedCache,結束MapReduce的學習。
類Mapper將輸入的鍵值對映射為中間鍵值對的集合。Maps是獨立的任務,將輸入的記錄轉化為中間記錄,這些轉化而來的中間記錄不需要和輸入記錄保持一致的類型。一個給定的輸入鍵值對可能映射為零或者多個輸出鍵值對。MapReduce框架為每個由作業的InputFormat產生的InputSplit生成一個Map任務。Mapper類的實現可以通過使用JobContext.getConfiguration()訪問作業的Configuration對象。MapReduce框架首先調用setup(org.apache.hadoop.mapreduce.Mapper.Context),接著為Inpu
總結
以上是生活随笔為你收集整理的Hadoop学习之MapReduce(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop学习之MapReduce(一
- 下一篇: Hadoop学习之MapReduce(三