温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

hadoop-mapreduce的示例分析

发布时间:2021-12-08 10:21:03 来源:亿速云 阅读:155 作者:小新 栏目:云计算

这篇文章主要为大家展示了“hadoop-mapreduce的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“hadoop-mapreduce的示例分析”这篇文章吧。

把整个Hadoop看作是容器,那么Mapper和Reduce就是容器里的组件,*Context保存了组件的一些配置信息,同时也是和容器通信的机制。

参数

作用

缺省值

其它实现

InputFormat

将输入的数据集切割成小数据集 InputSplits, 每一个InputSplit 将由一个 Mapper负责处理。此外InputFormat 中还提供一个RecordReader 的实现, 将一个 InputSplit 解析成<key,value> 对提供给 map函数。

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

SequenceFileInputFormat

OutputFormat

提供一个 RecordWriter 的实现,负责输出最终结果

TextOutputFormat
(用 LineRecordWriter 将最终结果写成纯文件文件,每个 <key,value> 对一行,key 和 value 之间用 tab 分隔)

SequenceFileOutputFormat

OutputKeyClass

输出的最终结果中 key 的类型

LongWritable

 

OutputValueClass

输出的最终结果中 value 的类型

Text

 

MapperClass

Mapper 类,实现 map 函数,完成输入的<key,value> 到中间结果的映射

IdentityMapper
(将输入的 <key,value> 原封不动的输出为中间结果)

LongSumReducer,
LogRegexMapper,
InverseMapper

CombinerClass

实现 combine 函数,将中间结果中的重复 key 做合并

null
(不对中间结果中的重复 key 做合并)

 

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
(使用 Hash 函数做 partition)

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的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI