首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

用 Hadoop 进展分布式并行编程Ⅱ

2012-10-08 
用 Hadoop 进行分布式并行编程Ⅱ参数作用缺省值其它实现InputFormat将 输入的数据集切割成小数据集 InputSp

用 Hadoop 进行分布式并行编程Ⅱ
参数作用缺省值其它实现InputFormat将 输入的数据集切割成小数据集 InputSplits, 每一个 InputSplit 将由一个 Mapper 负责处理。此外 InputFormat 中还提供一个 RecordReader 的实现, 将一个 InputSplit 解析成 <key,value> 对提供给 map 函数。TextInputFormat
(针对文本文件,按行将文本文件切割成 InputSplits, 并用 LineRecordReader 将 InputSplit 解析成 <key,value> 对,key 是行在文件中的位置,value 是文件中的一行)SequenceFileInputFormatOutputFormat提供一个 RecordWriter 的实现,负责输出最终结果TextOutputFormat
(用 LineRecordWriter 将最终结果写成纯文件文件,每个 <key,value> 对一行,key 和 value 之间用 tab 分隔)SequenceFileOutputFormatOutputKeyClass输出的最终结果中 key 的类型LongWritable?OutputValueClass输出的最终结果中 value 的类型Text?MapperClassMapper 类,实现 map 函数,完成输入的 <key,value> 到中间结果的映射IdentityMapper
(将输入的 <key,value> 原封不动的输出为中间结果)LongSumReducer,
LogRegexMapper,
InverseMapperCombinerClass实现 combine 函数,将中间结果中的重复 key 做合并null
(不对中间结果中的重复 key 做合并)?ReducerClassReducer 类,实现 reduce 函数,对中间结果做合并,形成最终结果IdentityReducer
(将中间结果直接输出为最终结果)AccumulatingReducer, LongSumReducerInputPath设定 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
用 Hadoop 进展分布式并行编程Ⅱ
用 Hadoop 进展分布式并行编程Ⅱ




用 Hadoop 进展分布式并行编程Ⅱ
用 Hadoop 进展分布式并行编程Ⅱ



此后,你就可以象一个普通的 Eclipse Java project 那样,添加入 Java 类,比如你可以定义一个 WordCount 类,然后将本文代码清单1,2,3中的代码写到此类中,添加入必要的 import 语句 ( Eclipse 快捷键 ctrl+shift+o 可以帮你),即可形成一个完整的 wordcount 程序。

在我们这个简单的 wordcount 程序中,我们把全部的内容都放在一个 WordCount 类中。实际上 IBM MapReduce tools 还提供了几个实用的向导 ( wizard ) 工具,帮你创建单独的 Mapper 类,Reducer 类,MapReduce Driver 类(就是代码清单3中那部分内容),在编写比较复杂的 MapReduce 程序时,将这些类独立出来是非常有必要的,也有利于在不同的计算任务中重用你编写的各种 Mapper 类和 Reducer 类。



用 Hadoop 进展分布式并行编程Ⅱ
用 Hadoop 进展分布式并行编程Ⅱ

描述名字大小下载方法改进的 wordcount 程序wordcount.zip8KBHTTPIBM MapReduce Toolsmapreduce_plugin.zip324KBHTTP

热点排行