溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

hadoop-mapreduce的示例分析

發(fā)布時間:2021-12-08 10:21:03 來源:億速云 閱讀:155 作者:小新 欄目:云計(jì)算

這篇文章主要為大家展示了“hadoop-mapreduce的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“hadoop-mapreduce的示例分析”這篇文章吧。

把整個Hadoop看作是容器,那么Mapper和Reduce就是容器里的組件,*Context保存了組件的一些配置信息,同時也是和容器通信的機(jī)制。

參數(shù)

作用

缺省值

其它實(shí)現(xiàn)

InputFormat

將輸入的數(shù)據(jù)集切割成小數(shù)據(jù)集 InputSplits, 每一個InputSplit 將由一個 Mapper負(fù)責(zé)處理。此外InputFormat 中還提供一個RecordReader 的實(shí)現(xiàn), 將一個 InputSplit 解析成<key,value> 對提供給 map函數(shù)。

TextInputFormat
(針對文本文件,按行將文本文件切割成 InputSplits, 并用LineRecordReader 將 InputSplit 解析成 <key,value> 對,key 是行在文件中的位置,value 是文件中的一行)

SequenceFileInputFormat

OutputFormat

提供一個 RecordWriter 的實(shí)現(xiàn),負(fù)責(zé)輸出最終結(jié)果

TextOutputFormat
(用 LineRecordWriter 將最終結(jié)果寫成純文件文件,每個 <key,value> 對一行,key 和 value 之間用 tab 分隔)

SequenceFileOutputFormat

OutputKeyClass

輸出的最終結(jié)果中 key 的類型

LongWritable

 

OutputValueClass

輸出的最終結(jié)果中 value 的類型

Text

 

MapperClass

Mapper 類,實(shí)現(xiàn) map 函數(shù),完成輸入的<key,value> 到中間結(jié)果的映射

IdentityMapper
(將輸入的 <key,value> 原封不動的輸出為中間結(jié)果)

LongSumReducer,
LogRegexMapper,
InverseMapper

CombinerClass

實(shí)現(xiàn) combine 函數(shù),將中間結(jié)果中的重復(fù) key 做合并

null
(不對中間結(jié)果中的重復(fù) key 做合并)

 

ReducerClass

Reducer 類,實(shí)現(xiàn) reduce函數(shù),對中間結(jié)果做合并,形成最終結(jié)果

IdentityReducer
(將中間結(jié)果直接輸出為最終結(jié)果)

AccumulatingReducer, LongSumReducer

InputPath

設(shè)定 job 的輸入目錄, job 運(yùn)行時會處理輸入目錄下的所有文件

null

 

OutputPath

設(shè)定 job 的輸出目錄,job的最終結(jié)果會寫入輸出目錄下

null

 

MapOutputKeyClass

設(shè)定 map 函數(shù)輸出的中間結(jié)果中 key 的類型

如果用戶沒有設(shè)定的話,使用OutputKeyClass

 

MapOutputValueClass

設(shè)定 map 函數(shù)輸出的中間結(jié)果中 value 的類型

如果用戶沒有設(shè)定的話,使用OutputValuesClass

 

OutputKeyComparator

對結(jié)果中的 key 進(jìn)行排序時的使用的比較器

WritableComparable

 

PartitionerClass

對中間結(jié)果的 key 排序后,用此 Partition 函數(shù)將其劃分為R份,每份由一個Reducer 負(fù)責(zé)處理。

HashPartitioner
(使用 Hash 函數(shù)做 partition)

KeyFieldBasedPartitioner PipesPartitioner

Job繼承自JobContext,提供了一系列的set方法,用于設(shè)置Job的一些屬性(Job更新屬性,JobContext讀屬性),同時,Job還提供了一些對Job進(jìn)行控制的方法,如下:

l           mapProgress:map的進(jìn)度(0—1.0);

l           reduceProgress:reduce的進(jìn)度(0—1.0);

l           isComplete:作業(yè)是否已經(jīng)完成;

l           isSuccessful:作業(yè)是否成功;

l           killJob:結(jié)束一個在運(yùn)行中的作業(yè);

l           getTaskCompletionEvents:得到任務(wù)完成的應(yīng)答(成功/失?。?;

l           killTask:結(jié)束某一個任務(wù);


以上是“hadoop-mapreduce的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI