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