获取专利数据集的网站:http://www.nber.org/patents/

需要下载的数据集:pat63_99.txt和Cite75_99.txt

专利引用数据的格式如下,采用逗号分隔

专利描述数据集,各个字段的意义:

大体的程序如下所示:

package cn.edu.hust.job;import java.io.IOException;
import java.util.Iterator;
import java.util.Map;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.mapred.FileInputFormat;
import org.apache.hadoop.mapred.FileOutputFormat;
import org.apache.hadoop.mapred.JobClient;
import org.apache.hadoop.mapred.JobConf;
import org.apache.hadoop.mapred.KeyValueTextInputFormat;
import org.apache.hadoop.mapred.MapReduceBase;
import org.apache.hadoop.mapred.Mapper;
import org.apache.hadoop.mapred.OutputCollector;
import org.apache.hadoop.mapred.Reducer;
import org.apache.hadoop.mapred.Reporter;
import org.apache.hadoop.mapred.TextOutputFormat;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;public class MyJob extends Configured implements Tool {public static class MapClass extends MapReduceBase implements Mapper<Text,Text,Text,Text>{public void map(Text key, Text value, OutputCollector<Text, Text> collect,Reporter report) throws IOException {collect.collect(value, key);}}public static class ReducerClass extends  MapReduceBase implements Reducer<Text, Text, Text, Text>{public void reduce(Text key, Iterator<Text> values,OutputCollector<Text, Text> collect, Reporter report)throws IOException {String csv="";while(values.hasNext()){if (csv.length()>0) {csv+=",";}csv=values.next().toString();}collect.collect(key, new Text(csv));}}//核心public int run(String[] arg0) throws Exception {//创建一个作业Configuration conf=getConf();JobConf jobConf=new JobConf(conf,MyJob.class);//设置输入输出路径Path in=new Path(arg0[0]);Path out=new Path(arg0[1]);FileInputFormat.setInputPaths(jobConf,in);FileOutputFormat.setOutputPath(jobConf, out);//设置mapper、reducer对象jobConf.setJobName("MyJob");jobConf.setMapperClass(MapClass.class);jobConf.setReducerClass(ReducerClass.class);//指定K1、V1的数据格式jobConf.setInputFormat(KeyValueTextInputFormat.class);jobConf.setOutputFormat(TextOutputFormat.class);//指定K2、V2的数据格式jobConf.setOutputKeyClass(Text.class);jobConf.setOutputValueClass(Text.class);jobConf.set("key.value.separator.in.input.line", ",");//启动MapReduce作业JobClient.runJob(jobConf);return 0;}public static void main(String[] args) throws Exception {int res=ToolRunner.run(new Configuration(), new MyJob(), args);System.exit(res);}}

运行的过程:

得到的部分结果:

Chapter04 编写基本的MapReduce程序(一) 专利数据集实战一相关推荐

  1. 课程、问题-利用mincemeat编写简单的MapReduce程序-by小雨

    最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--课程.问题- 本文例子为Coursera上web intelligence and big data的课程业作. 问题描述: Downl ...

  2. Hadoop之MapReduce程序应用一读取专利引用数据集并对它进行倒排

    摘要:MapReduce程序处理专利数据集. 关键词:MapReduce程序   专利数据集 数据源:专利引用数据集cite75_99.txt.(该数据集可以从网址http://www.nber.or ...

  3. mapreduce编程实例python-使用Python语言写Hadoop MapReduce程序

    原标题:使用Python语言写Hadoop MapReduce程序 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 在本教程中,我将描述如何使用Pytho ...

  4. 如何在Hadoop上编写MapReduce程序

    1. 概述 1970年,IBM的研究员E.F.Codd博士在刊物<Communication of the ACM>上发表了一篇名为"A Relational Model of ...

  5. hadoop的python框架指南_Python之——用Mrjob框架编写Hadoop MapReduce程序(基于Hadoop 2.5.2)...

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/79056120 一.环境准备想了解如何使用原生Python编写MapReduce程序 ...

  6. 教你用Python 编写 Hadoop MapReduce 程序

    摘要:Hadoop Streaming 使用 MapReduce 框架,该框架可用于编写应用程序来处理海量数据. 本文分享自华为云社区<Hadoop Streaming:用 Python 编写 ...

  7. linux hadoop eclipse 安装,linux下安装Hadoopeclipse插件以及编写第一个简单的MapReduce程序...

    linux下安装Hadoopeclipse插件以及编写第一个简单的MapReduce程序 Hadoop 安装eclipse这个不难.网上太多的教程,一找一大把.熟悉了之后也不再需要看教程就可以自己安装 ...

  8. Hadoop详解(三)——MapReduce原理和执行过程,远程Debug,Writable序列化接口,MapReduce程序编写

    MapReduce概述 MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题. MR由两个阶段组成:Map和Reduce,用户只需要实现map()和Re ...

  9. 【Hadoop】伪分布式安装---MapReduce程序运行到YARN上,编写MapReduce程序---HDFS yarn

    在我的虚拟机(Linux)上安装的Hadoop是2.7.3版本的,安装过程可以参考这个网站,也可以下载. http://hadoop.apache.org/docs/r2.7.6/hadoop-pro ...

  10. hadoop调用python算法_使用Python实现Hadoop MapReduce程序

    根据上面两篇文章,下面是我在自己的ubuntu上的运行过程.文字基本采用博文使用Python实现Hadoop MapReduce程序,  打字很浪费时间滴. 在这个实例中,我将会向大家介绍如何使用Py ...

最新文章

  1. 通过学历造假获得面试机会,并成功拿到 Offer,这样的操作你认可吗?
  2. Qt中的QGridLayout
  3. 云服务器磁盘挂载_云小课 | 磁盘容量不够用?小课教你来扩容!
  4. 中国剩余定理(CRT)扩展中国剩余定理(exCRT)
  5. [导入]C#实现Des加密和解密
  6. 2019cvpr cv_如何编写软件工程简历(CV):权威指南(于2019年更新)
  7. 数据库和 MIDP,第二部分:数据映射
  8. 剑指offer——29.顺时针打印矩阵(不熟)
  9. 轻松实现函数计算文件上传下载
  10. 编程 常用3500汉字 常用字符
  11. Fireworks-CS5入门到高级129讲视频教程
  12. 2018-2019-1 20165301 20165304 20165314 实验二 固件程序设计
  13. 1、多线程原理与实践 《Java高并发核心编程 卷二》读书笔记
  14. 01.初识redis
  15. 微信突破版本限制永久设置透明/半透明头像
  16. 小红书主页爬取_小红书数据爬取教程
  17. 知识点总结之Java语言的优点
  18. 4.s(15): error: A1867E: Immediate 0x00000002 out of range for this operation. Permitted values are
  19. windows程序设计(一)
  20. Windows Server 2012 VDI 部署的前提条件

热门文章

  1. 沥青路面粘弹性力学分析基础研究
  2. 电子计算机按钮说明,电子计算器常用按键功能说明
  3. 计算一阶导数的四阶中心差分格式
  4. 星岚技术 Win10 x64 纯净版 V2021.5【带驱动包】
  5. css html文字淡入淡出,Css淡入淡出
  6. sp_helpfile
  7. 图片热区——map的用法
  8. 苹果切换输入法_忍不住分享!朋友圈发长文神器来了 —— 不折叠输入法
  9. 拼多多推广中出价是越高效果越好吗?
  10. Win11无法识别以太网怎么办?Win11以太网未识别网络的解决方法