Hadoop 统计单词字数的例子
2012-04-21 18:06
423 查看
hadoop 的核心还是 Map-Reduce过程和 hadoop分布式文件系统
第一步:定义Map过程
第二步: 定义 Reduce 过程
编写一个Driver 来执行Map-Reduce过程
第一步:定义Map过程
/** * * Description: * * @author charles.wang * @created Mar 12, 2012 1:41:57 PM * */ public class MyMap extends Mapper<Object, Text, Text, IntWritable> { private static final IntWritable one = new IntWritable(1); private Text word; public void map(Object key ,Text value,Context context) throws IOException,InterruptedException{ String line=value.toString(); StringTokenizer tokenizer = new StringTokenizer(line); while(tokenizer.hasMoreTokens()){ word = new Text(); word.set(tokenizer.nextToken()); context.write(word, one); } } }
第二步: 定义 Reduce 过程
/** * * Description: * * @author charles.wang * @created Mar 12, 2012 1:48:18 PM * */ public class MyReduce extends Reducer<Text, IntWritable, Text, IntWritable> { public void reduce (Text key,Iterable<IntWritable> values,Context context) throws IOException ,InterruptedException{ int sum=0; for(IntWritable val: values){ sum+=val.get(); } context.write(key, new IntWritable(sum)); } }
编写一个Driver 来执行Map-Reduce过程
public class MyDriver { public static void main(String [] args) throws Exception{ Configuration conf = new Configuration(); conf.set("hadoop.job.ugi", "root,root123"); Job job = new Job(conf,"Hello,hadoop! ^_^"); job.setJarByClass(MyDriver.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(IntWritable.class); job.setMapperClass(MyMap.class); job.setCombinerClass(MyReduce.class); job.setReducerClass(MyReduce.class); job.setInputFormatClass(TextInputFormat.class); job.setOutputFormatClass(TextOutputFormat.class); FileInputFormat.setInputPaths(job, new Path(args[0])); FileOutputFormat.setOutputPath(job,new Path(args[1])); job.waitForCompletion(true); } }
相关文章推荐
- hadoop基础----hadoop实战(三)-----hadoop运行MapReduce---对单词进行统计--经典的自带例子wordcount
- hadoop基础----hadoop实战(三)-----hadoop运行MapReduce---对单词进行统计--经典的自带例子wordcount
- hadoop运行简单例子--单词统计
- hadoop老API(基于统计单词数的例子)
- SparkStreaming的实时单词统计小例子
- 统计文章中单词的字数并按照出现的频率排序(treeSet)
- Hadoop 统计文件中某个单词出现的次数
- Hadoop自带字数统计程序wordcount异常
- hadoop-mapreduce-(1)-统计单词数量
- hadoop 关键词字数统计
- Hadoop:使用原生python编写MapReduce来统计文本文件中所有单词出现的频率功能
- (12) Hadoop Java 实现MapReduce HelloWord 单词统计 更新版
- Hadoop之——以1.x版本和0.x版本分别实现单词统计功能
- apache-storm例子:统计句子中的单词数量
- 分析统计单词数例子MapReduce执行过程 .
- Hadoop—Pig部署及统计访问日志例子----练习8
- Hadoop入门实例——WordCount统计单词
- Hadoop C++单词统计
- Hadoop编程入门,统计单词出现数目wordcount