一、在(二)的基础之上做修改,代码如下:
import java.io.IOException; import org.apache.hadoop.conf.Configured; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; 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.KeyValueTextInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner; /** * 计算不同引用次数专利的数目 * * @author liuhongbo * */ public class PatentCiteCount extends Configured implements Tool { public static class PatentCiteCountMapper extends Mapper<Text, Text, Text, IntWritable> { private final IntWritable one = new IntWritable(1); @Override protected void map(Text key, Text value, Context context) throws IOException, InterruptedException { context.write(value, one); } } public static class PatentCiteCountReducer extends Reducer<Text, IntWritable, Text, LongWritable> { private final LongWritable result = new LongWritable(); @Override protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable value : values) { sum += value.get(); } result.set(sum); context.write(key, result); } } @Override public int run(String[] args) throws Exception { Job job = new Job(getConf()); job.setJarByClass(getClass()); job.setJobName("patentcitecount"); job.setInputFormatClass(KeyValueTextInputFormat.class); job.setOutputFormatClass(TextOutputFormat.class); job.setMapperClass(PatentCiteCountMapper.class); job.setReducerClass(PatentCiteCountReducer.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(IntWritable.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(LongWritable.class); FileInputFormat.setInputPaths(job, new Path( "/patent/test/input/patentcitecount.txt")); FileOutputFormat.setOutputPath(job, new Path("/patent/test/outnput")); boolean success = job.waitForCompletion(true); return success ? 0 : 1; } public static void main(String[] args) throws Exception { int result = ToolRunner.run(new PatentCiteCount(), args); System.exit(result); } }
相关推荐
Hadoop统计单词出现次数.rar
Hadoop按日期统计访问次数代码实现,以及包含测试用的数据
hadoop流量统计程序hadoop流量统计程序hadoop流量统计程序hadoop流量统计程序
对于基站数据,统计用户数,统计用户拨打电话的次数
基于hadoop的词频统计,通过空格作为词频切分,简单统计了哈姆雷特节选的词频数量。
该文件可以帮助我们练习Hadoop的统计功能。
完整的词频统计MapReduce版本。基于Hadoop2.2.0,包含一个十万单词左右的测试文件。请参照 http://blog.csdn.net/zythy/article/details/17888439 获取详细解说。
hadoop词频统计完整版!!!!!!!包含代码以及详细步骤。................................................................................................
Hadoop中单词统计案例运行的代码
Hadoop 分析统计学生考试成绩1
在hadoop平台上,用mapreduce编程实现大数据的词频统计
hadoop统计服务器kpi
mapreduce在hadoop实现词统计和列式统计,mrwordcount工程是统计hadoop文件中的词数,mrflowcount工程是统hadoop文件中的列表
基于Hadoop2.2.0的词频统计的例子。包含一个大概十万以上单词的测试数据文件。重写了Partitioner和Combiner,供学习之用。 访问博文 http://blog.csdn.net/zythy/article/details/17852579 以查看详细讲解。
在windows环境下开发hadoop时,需要配置HADOOP_HOME环境变量,变量值D:\hadoop-common-2.7.3-bin-master,并在Path追加%HADOOP_HOME%\bin,有可能出现如下错误: org.apache.hadoop.io.nativeio.NativeIO$Windows....
简单词频统计,带有注释,方便大家入门hadoop!具体的大家请自己看
Hadoop课程实验和报告——每年申请美国专利的国家数统计
压缩包包含以下三本书籍: 《Hadoop技术内幕 深入解析common和HDFS》、 《Hadoop技术内幕 深入解析MapReduce》、 《Hadoop技术内幕 深入解析YARN》
hadoop权威指南第3版是一本非常专业的Hadoop参考学习用书,该书系统阐述了Hadoop发展现状和应用,知识体系完善,内容丰富全面,对Hadoop感兴趣的朋友可以学习学习。