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

Hadoop 统计专利被那些专利所引用(一)

 
阅读更多

一、以下是测试数据:

"CITING","CITED"
3858241,956203
3858241,1324234
3858241,3398406
3858241,3557384
3858241,3634889
3858242,1515701
3858242,3319261
3858242,3668705
3858242,3707004
3858243,2949611
3858243,3146465
3858243,3156927
3858243,3221341
3858243,3574238
3858243,3681785
3858243,3684611
3858244,14040
3858244,17445
3858245,17445

 注:第一列是专利号,第二列是引用的专利号。

二、Hadoop 代码如下:

 

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.Path;
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.KeyValueLineRecordReader;
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;

public class PatentCitations extends Configured implements Tool {

	public static class PatentCitationsMapper extends Mapper<Text, Text, Text, Text> {

		@Override
		protected void map(Text key, Text value, Context context)
				throws IOException, InterruptedException {
			context.write(value, key);
		}
	}
	
	public static class PatentCitationsReduces extends Reducer<Text, Text, Text, Text> {
		
		private static Text staticVal = new Text();
		
		@Override
		protected void reduce(Text key, Iterable<Text> values,Context context)
				throws IOException, InterruptedException {
			StringBuilder sb = new StringBuilder();
			for (Text value : values) {
				if (sb.length() > 0) {
					sb.append(",");
				}
				sb.append(value.toString());
			}
			staticVal.set(sb.toString());
			context.write(key,staticVal);
		}
		
	}
	
	@Override
	public int run(String[] args) throws Exception {
		Configuration conf = getConf();
		conf.set(KeyValueLineRecordReader.KEY_VALUE_SEPERATOR, ",");
		
		Job job = new Job(getConf());
		job.setJarByClass(getClass());
		job.setJobName("patentcitations");
		
		job.setInputFormatClass(KeyValueTextInputFormat.class);
		job.setOutputFormatClass(TextOutputFormat.class);
		
		job.setOutputKeyClass(Text.class);
		job.setOutputValueClass(Text.class);
		
		job.setMapperClass(PatentCitationsMapper.class);
		job.setReducerClass(PatentCitationsReduces.class);
		
		FileInputFormat.setInputPaths(job, new Path("/patent/test/input/file1.txt"));
		FileOutputFormat.setOutputPath(job, new Path("/patent/test/output"));
		
		//FileInputFormat.setInputPaths(job, new Path(args[0]));
		//FileOutputFormat.setOutputPath(job, new Path(args[1]));
		
		boolean success = job.waitForCompletion(true);
		return success ? 0: 1;
	}

	public static void main(String[] args) throws Exception{
		int result = ToolRunner.run(new PatentCitations(), args);
		System.exit(result);
	}

}

 三、执行结果如下:

 

 

"CITED"	"CITING"
1324234	3858241
14040	3858244
1515701	3858242
17445	3858245,3858244
2949611	3858243
3146465	3858243
3156927	3858243
3221341	3858243
3319261	3858242
3398406	3858241
3557384	3858241
3574238	3858243
3634889	3858241
3668705	3858242
3681785	3858243
3684611	3858243
3707004	3858242
956203	3858241

 注:17445 分别被 3858245,3858244 所引用。

 

分享到:
评论
1 楼 bo_hai 2013-11-23  

相关推荐

    基于hadoop的词频统计.docx

    Hadoop 设计的目标是处理和存储海量数据,尤其适合那些有着超大数据集的应用场景。通过 Hadoop,用户可以在不深入理解分布式系统底层细节的情况下,编写出可扩展的分布式应用程序。 HDFS 是 Hadoop 的基石,它是一...

    Hadoop统计单词出现次数.rar

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

    hadoop流量统计程序

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

    Hadoop词频统计(完整版)

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

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

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分析。它的核心特性包括分布式存储(HDFS)和分布式计算(MapReduce),这使得它能够处理和存储PB级别的数据。本篇将深入探讨如何利用Hadoop按...

    大数据 hadoop mapreduce 词频统计

    总的来说,大数据Hadoop MapReduce词频统计是大数据分析的重要应用之一,它揭示了文本数据的内在结构,为文本挖掘、信息检索等应用提供了基础。通过理解和掌握这一技术,开发者可以更好地应对现代数据驱动决策的需求...

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

    总结来说,Hadoop的单词统计案例展示了如何利用分布式计算解决大规模数据的处理问题,它是理解Hadoop和MapReduce概念的一个重要实践。通过这个案例,我们可以学习到如何在Hadoop环境中编写和运行MapReduce作业,从而...

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

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

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

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

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

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

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

    "Hadoop 分析统计学生考试成绩" 本资源综合了 Hadoop 分析统计...本资源提供了一个完整的 Hadoop 分析统计学生考试成绩的实现,涵盖了从开发环境到项目结构、代码文件说明、程序运行方式等方面,供读者学习和参考。

    hadoop简单单词统计

    在大数据处理领域,Hadoop是一个不可或缺的开源框架,它由Apache软件基金会开发,主要用于处理和存储海量数据。在这个“hadoop简单单词统计”的项目中,我们看到了开发者首次尝试使用Hadoop进行程序编写,实现了对...

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

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

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

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

    专利测试数据集

    根据提供的信息,我们可以了解到这是一份关于专利引用的数据集,并且与Hadoop实战有关。这份数据集主要包含两列:一列为被引用的专利编号(CITED),另一列为引用该专利的其他专利编号(CITING)。通过这些数据,...

    Hadoop 2.2.0 词频统计例子

    基于Hadoop2.2.0的词频统计的例子。包含一个大概十万以上单词的测试数据文件。重写了Partitioner和Combiner,供学习之用。 访问博文 http://blog.csdn.net/zythy/article/details/17852579 以查看详细讲解。

    hadoop统计服务器kpi

    在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储和计算的能力,使得海量数据的处理变得可能。在企业环境中,为了监控Hadoop集群的健康状况和性能,KPI(关键性能指标)的统计至关重要。本篇...

    大数据实验报告Hadoop编程实现wordcount单词统计程序附源码.doc

    大数据实验报告 Hadoop 编程实现 wordcount 单词统计程序附源码 本实验报告旨在介绍使用 Hadoop 编程实现 wordcount 单词统计程序的步骤和代码实现。实验的目的在于熟悉 Hadoop 虚拟机的安装与环境的配置,初步理解...

    词频统计(基于hadoop集群,python实现)

    2. **Shuffle和Sort阶段**:Hadoop会自动对map阶段产生的键值对进行分区和排序,确保相同键的值被发送到同一个reduce任务。 3. **Reduce阶段**:在reduce函数中,我们接收所有相同的键(这里是相同的单词)及其对应...

Global site tag (gtag.js) - Google Analytics