这篇文章主要为大家展示了“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。