一、以下是测试数据:
"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 所引用。
相关推荐
Hadoop 设计的目标是处理和存储海量数据,尤其适合那些有着超大数据集的应用场景。通过 Hadoop,用户可以在不深入理解分布式系统底层细节的情况下,编写出可扩展的分布式应用程序。 HDFS 是 Hadoop 的基石,它是一...
这个压缩包"**Hadoop统计单词出现次数.rar**"显然包含了实现一个基本Hadoop MapReduce程序的源代码,用于统计文本中的单词出现次数。这个过程是大数据分析中的经典示例,通常被称为WordCount。我们将详细探讨这个...
"hadoop流量统计程序"是基于Hadoop平台设计的一种工具,用于收集、处理和分析网络流量数据。这个程序能够帮助网络管理员或者数据分析人员有效地监控和理解网络活动,识别潜在的流量异常,以及优化网络资源的分配。 ...
完整的词频统计MapReduce版本。基于Hadoop2.2.0,包含一个十万单词左右的测试文件。请参照 http://blog.csdn.net/zythy/article/details/17888439 获取详细解说。
在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分析。它的核心特性包括分布式存储(HDFS)和分布式计算(MapReduce),这使得它能够处理和存储PB级别的数据。本篇将深入探讨如何利用Hadoop按...
总的来说,大数据Hadoop MapReduce词频统计是大数据分析的重要应用之一,它揭示了文本数据的内在结构,为文本挖掘、信息检索等应用提供了基础。通过理解和掌握这一技术,开发者可以更好地应对现代数据驱动决策的需求...
总结来说,Hadoop的单词统计案例展示了如何利用分布式计算解决大规模数据的处理问题,它是理解Hadoop和MapReduce概念的一个重要实践。通过这个案例,我们可以学习到如何在Hadoop环境中编写和运行MapReduce作业,从而...
该文件可以帮助我们练习Hadoop的统计功能。
在本Hadoop课程实验中,我们关注的主题是“每年申请美国专利的国家数统计”。这个实验旨在通过大数据处理技术,分析各国在美国专利申请的数量,从而揭示全球创新活动的分布情况。我们将利用Apache Hadoop这一开源...
hadoop词频统计完整版!!!!!!!包含代码以及详细步骤。................................................................................................
"Hadoop 分析统计学生考试成绩" 本资源综合了 Hadoop 分析统计...本资源提供了一个完整的 Hadoop 分析统计学生考试成绩的实现,涵盖了从开发环境到项目结构、代码文件说明、程序运行方式等方面,供读者学习和参考。
在大数据处理领域,Hadoop是一个不可或缺的开源框架,它由Apache软件基金会开发,主要用于处理和存储海量数据。在这个“hadoop简单单词统计”的项目中,我们看到了开发者首次尝试使用Hadoop进行程序编写,实现了对...
在大数据处理领域,Hadoop是一个不可或缺的开源框架,它主要用于处理和存储海量数据。本示例中的"had
在这个场景中,我们将讨论如何使用Hadoop的MapReduce来实现词统计和列式统计。 **一、MapReduce原理** MapReduce的工作流程主要包括三个主要阶段:Map、Shuffle(排序)和Reduce。在Map阶段,输入数据被分割成多个...
根据提供的信息,我们可以了解到这是一份关于专利引用的数据集,并且与Hadoop实战有关。这份数据集主要包含两列:一列为被引用的专利编号(CITED),另一列为引用该专利的其他专利编号(CITING)。通过这些数据,...
基于Hadoop2.2.0的词频统计的例子。包含一个大概十万以上单词的测试数据文件。重写了Partitioner和Combiner,供学习之用。 访问博文 http://blog.csdn.net/zythy/article/details/17852579 以查看详细讲解。
在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储和计算的能力,使得海量数据的处理变得可能。在企业环境中,为了监控Hadoop集群的健康状况和性能,KPI(关键性能指标)的统计至关重要。本篇...
大数据实验报告 Hadoop 编程实现 wordcount 单词统计程序附源码 本实验报告旨在介绍使用 Hadoop 编程实现 wordcount 单词统计程序的步骤和代码实现。实验的目的在于熟悉 Hadoop 虚拟机的安装与环境的配置,初步理解...
2. **Shuffle和Sort阶段**:Hadoop会自动对map阶段产生的键值对进行分区和排序,确保相同键的值被发送到同一个reduce任务。 3. **Reduce阶段**:在reduce函数中,我们接收所有相同的键(这里是相同的单词)及其对应...