您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“hadoop-mapreduce的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“hadoop-mapreduce的示例分析”這篇文章吧。
把整個Hadoop看作是容器,那么Mapper和Reduce就是容器里的組件,*Context保存了組件的一些配置信息,同時也是和容器通信的機制。
參數 | 作用 | 缺省值 | 其它實現 |
InputFormat | 將輸入的數據集切割成小數據集 InputSplits, 每一個InputSplit 將由一個 Mapper負責處理。此外InputFormat 中還提供一個RecordReader 的實現, 將一個 InputSplit 解析成<key,value> 對提供給 map函數。 | TextInputFormat | SequenceFileInputFormat |
OutputFormat | 提供一個 RecordWriter 的實現,負責輸出最終結果 | TextOutputFormat | SequenceFileOutputFormat |
OutputKeyClass | 輸出的最終結果中 key 的類型 | LongWritable |
|
OutputValueClass | 輸出的最終結果中 value 的類型 | Text |
|
MapperClass | Mapper 類,實現 map 函數,完成輸入的<key,value> 到中間結果的映射 | IdentityMapper | LongSumReducer, |
CombinerClass | 實現 combine 函數,將中間結果中的重復 key 做合并 | null |
|
ReducerClass | Reducer 類,實現 reduce函數,對中間結果做合并,形成最終結果 | IdentityReducer | AccumulatingReducer, LongSumReducer |
InputPath | 設定 job 的輸入目錄, job 運行時會處理輸入目錄下的所有文件 | null |
|
OutputPath | 設定 job 的輸出目錄,job的最終結果會寫入輸出目錄下 | null |
|
MapOutputKeyClass | 設定 map 函數輸出的中間結果中 key 的類型 | 如果用戶沒有設定的話,使用OutputKeyClass |
|
MapOutputValueClass | 設定 map 函數輸出的中間結果中 value 的類型 | 如果用戶沒有設定的話,使用OutputValuesClass |
|
OutputKeyComparator | 對結果中的 key 進行排序時的使用的比較器 | WritableComparable |
|
PartitionerClass | 對中間結果的 key 排序后,用此 Partition 函數將其劃分為R份,每份由一個Reducer 負責處理。 | HashPartitioner | KeyFieldBasedPartitioner PipesPartitioner |
Job繼承自JobContext,提供了一系列的set方法,用于設置Job的一些屬性(Job更新屬性,JobContext讀屬性),同時,Job還提供了一些對Job進行控制的方法,如下:
l mapProgress:map的進度(0—1.0);
l reduceProgress:reduce的進度(0—1.0);
l isComplete:作業是否已經完成;
l isSuccessful:作業是否成功;
l killJob:結束一個在運行中的作業;
l getTaskCompletionEvents:得到任務完成的應答(成功/失敗);
l killTask:結束某一個任務;
以上是“hadoop-mapreduce的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。