MapReduce之WordCount
来源:互联网 发布:四川麻将规则算法 编辑:程序博客网 时间:2024/06/13 06:55
这是我在学习《深入理解Hadoop》中的代码示例,仅作示例用
package edu.hfut.wls.study.hadoop;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.conf.Configured;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;import org.apache.hadoop.util.GenericOptionsParser;import org.apache.hadoop.util.Tool;import org.apache.hadoop.util.ToolRunner;import java.io.IOException;/** * Created by lianbin.zlb. */public class WordCount extends Configured implements Tool{ @Override public int run(String[] strings) { try { Job job = Job.getInstance(getConf()); job.setJarByClass(WordCount.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(LongWritable.class); job.setMapperClass(WcMapper.class); job.setReducerClass(WcReducer.class); job.setInputFormatClass(TextInputFormat.class); job.setOutputFormatClass(TextOutputFormat.class); String[] args = new GenericOptionsParser(getConf(), strings).getRemainingArgs(); FileInputFormat.setInputPaths(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.submit(); } catch (Exception e) { e.printStackTrace(); } return 0; } public static class WcMapper extends Mapper<LongWritable, Text, Text, LongWritable>{ @Override protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { String mVal = value.toString(); context.write(new Text(mVal), new LongWritable(1)); } } public static class WcReducer extends Reducer<Text, LongWritable, Text, LongWritable>{ @Override protected void reduce(Text key, Iterable<LongWritable> values, Context context) throws IOException, InterruptedException { long sum = 0; for(LongWritable lVal : values){ sum += lVal.get(); } context.write(key, new LongWritable(sum)); } } public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); ToolRunner.run(new WordCount(), args); }}
0 0
- MapReduce编程之WordCount
- MapReduce之WordCount
- MapReduce之WordCount
- MapReduce之WordCount
- MapReduce实战之WordCount
- MapReduce之WordCount
- MapReduce之wordcount
- MapReduce入门之wordcount
- MapReduce实战之 WordCount
- Hadoop之MapReduce WordCount分析
- Hadoop之MapReduce—Wordcount
- Kettle实现MapReduce之WordCount
- mapreduce代码整理之wordcount
- MapReduce编程实例之WordCount
- Mapreduce编程1之WordCount
- Kettle实现MapReduce之WordCount
- MapReduce之WordCount单词计数
- Mapreduce wordCount
- 数据存储的方式
- JS语言 点击事件
- Android framework的一些经验
- poj 3292 Semi-prime H-numbers
- 超简单的ViewPager导航栏联动实现后记--当标题栏条目很多时
- MapReduce之WordCount
- python刷访问数
- Live archive 4490 Help Bubu
- 浙大PAT甲级 1052
- Service混合模式
- APK瘦身记,如何实现高达53%的压缩效果
- 02网格布局Gridlayout
- 【操作系统】CentOS 7 ip地址与主机名绑定
- 2016.8.23--快速排序