hadoop-mapreduce的示例分析

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

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的怀仁网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

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

参数

作用

缺省值

其它实现

InputFormat

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

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

SequenceFileInputFormat

OutputFormat

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

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

SequenceFileOutputFormat

OutputKeyClass

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

LongWritable

 

OutputValueClass

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

Text

 

MapperClass

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

IdentityMapper
(将输入的  原封不动的输出为中间结果)

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


网页标题:hadoop-mapreduce的示例分析
网页地址:http://scyanting.com/article/igoses.html