`
bo_hai
  • 浏览: 565952 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Hadoop 统计不同引用次数的专利数目(三)

 
阅读更多

一、在(二)的基础之上做修改,代码如下:

 

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统计单词出现次数.rar**"显然包含了实现一个基本Hadoop MapReduce程序的源代码,用于统计文本中的单词出现次数。这个过程是大数据分析中的经典示例,通常被称为WordCount。我们将详细探讨这个...

    Hadoop按日期统计访问次数及测试数据

    在实际应用中,这些数据可能包含多个用户的访问记录,覆盖不同日期,以便验证我们的统计代码是否正确地计算了每天的访问次数。测试数据的准备是关键,需要确保数据涵盖了各种情况,包括日期范围、访问频率等。 5. *...

    基于hadoop的词频统计.docx

    在本课程设计中,学生将通过 Hadoop 平台,利用 MapReduce 编程统计《哈姆雷特》的词频,即计算每个词汇出现的次数。这个任务展示了 MapReduce 在文本分析和数据挖掘中的应用。在 map 阶段,每个单词被提取并计数,...

    hadoop实现用户数和用户拨打电话的次数统计.zip

    在大数据处理领域,Hadoop是一个不可或缺的开源框架,它主要用于处理和存储海量数据。本示例中的"had

    Hadoop词频统计(完整版)

    完整的词频统计MapReduce版本。基于Hadoop2.2.0,包含一个十万单词左右的测试文件。请参照 http://blog.csdn.net/zythy/article/details/17888439 获取详细解说。

    Hadoop学习统计上网流量源数据

    该文件可以帮助我们练习Hadoop的统计功能。

    hadoop流量统计程序

    "hadoop流量统计程序"是基于Hadoop平台设计的一种工具,用于收集、处理和分析网络流量数据。这个程序能够帮助网络管理员或者数据分析人员有效地监控和理解网络活动,识别潜在的流量异常,以及优化网络资源的分配。 ...

    hadoop词频统计课设报告书.pdf

    hadoop词频统计完整版!!!!!!!包含代码以及详细步骤。................................................................................................

    Hadoop中单词统计案例运行的代码

    在这个"单词统计案例"中,我们将深入探讨Hadoop如何处理文本数据,进行简单的单词计数任务。这个任务是Hadoop初学者经常接触的经典示例,它展示了Hadoop MapReduce的基本工作原理。 MapReduce是Hadoop的核心计算...

    大数据 hadoop mapreduce 词频统计

    【大数据Hadoop MapReduce词频统计】 大数据处理是现代信息技术领域的一个重要概念,它涉及到海量数据的存储、管理和分析。Hadoop是Apache软件基金会开发的一个开源框架,专门用于处理和存储大规模数据集。Hadoop的...

    Hadoop 分析统计学生考试成绩1

    "Hadoop 分析统计学生考试成绩" 本资源综合了 Hadoop 分析统计学生考试成绩的实现,涵盖了从开发环境到项目结构、代码文件说明、程序运行方式等方面。 一、开发环境 项目需要 Win 10 64 位或 macOS High Sierra ...

    mapreduce在hadoop实现词统计和列式统计

    在这个场景中,我们将讨论如何使用Hadoop的MapReduce来实现词统计和列式统计。 **一、MapReduce原理** MapReduce的工作流程主要包括三个主要阶段:Map、Shuffle(排序)和Reduce。在Map阶段,输入数据被分割成多个...

    hadoop简单单词统计

    在这个“hadoop简单单词统计”的项目中,我们看到了开发者首次尝试使用Hadoop进行程序编写,实现了对文本数据进行单词统计的功能。这个过程中涉及到的核心知识点包括Hadoop的MapReduce编程模型、Hadoop分布式文件...

    Hadoop课程实验和报告——每年申请美国专利的国家数统计

    在本Hadoop课程实验中,我们关注的主题是“每年申请美国专利的国家数统计”。这个实验旨在通过大数据处理技术,分析各国在美国专利申请的数量,从而揭示全球创新活动的分布情况。我们将利用Apache Hadoop这一开源...

    hadoop技术内幕三件套

    《Hadoop技术内幕三件套》是一套深入探讨Apache Hadoop生态系统的专业书籍,涵盖了Hadoop的核心组件:Common、HDFS(Hadoop Distributed File System)和MapReduce以及资源管理框架YARN(Yet Another Resource ...

    hadoop统计服务器kpi

    三、统计Hadoop KPI的方法 1. **Hadoop自带监控**:Hadoop提供Web UI,可以查看基本的集群状态、任务运行情况和资源使用情况。 2. **日志分析**:收集和分析Hadoop的日志文件,从中提取KPI信息。 3. **第三方工具**...

    hadoop权威指南第三版完整版

    ### Hadoop权威指南第三版知识点总结 #### 一、Hadoop概述 - **定义与背景**:Hadoop是一个能够对大量数据进行分布式处理的软件框架。它由Apache基金会开发维护,旨在提供高可靠性、高效性及可扩展性的数据处理...

    基于Hadoop 2.7.7 的中文词频统计工具(JavaWeb).zip

    本文将深入探讨基于Hadoop 2.7.7的中文词频统计工具,这是一个JavaWeb应用程序,用于处理大规模文本数据并计算其中每个中文词汇出现的频率。这个项目可以帮助我们了解如何在分布式环境下有效地处理和分析中文文本。 ...

    hadoop源码的第三方jar包

    这对于跟踪Hadoop不同版本间的API变更非常有用。 6. **json-simple-1.1.1.jar**:这是一个轻量级的Java库,用于处理JSON(JavaScript Object Notation)数据格式。在Hadoop中,JSON常用于数据交换和配置文件,因为...

Global site tag (gtag.js) - Google Analytics