运行环境VMware10、CentOS6.6、hadoop1.2.1
本实验依照Hadoop in action一书第四章进行
首先拿到专利数据:http://data.nber.org/patents/,并上传到hdfs中
本文使用是的cite75-99.txt,该文件涵盖了自1975年到1999年间对美国专利的引用,包含超过1600万条数据,前几行如下图:
其中第一列为专利号、第二列为被第一列引用的专利号,可见专利3858241共引用了5个专利。
编写MapReduce程序读取专利引用数据并进行倒排,对于每一个专利找到哪些专列对他进行了引用并进行合并。
package HIA;
import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
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.Mapper.Context;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
public class job1 {