MapReduce编程实战2——倒排索引(jar包)

  

<>强任务要求:

//输入文件格式

18661629496

110 18661629496 120 110

1234567

120

987654 2345678 110

2897839274 18661629496

//输出文件格式格式

11018661629496 | 11018661629496 | 987654 | 18661629496 | 987654 | 13107702446 |

1201234567 | 1201234567 | 1234567 | 1234567 |

186616294962897839274 | 186616294962897839274 |

<强> mapreduce程序编写:

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.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.output.FileOutputFormat;      public  class  Test2  {   enum 计数器   {   LINESKIP,//记录出错的行   }   ,,,public  static  class  Map  extends  Mapper {         ,,,,,,,public  void 地图(LongWritable 关键,Text 价值,Context 上下文)   ,,,,,,,,,,,,,,,throws  IOException, InterruptedException  {   ,,,,,,,,String  line =, value.toString();//读取源数据   ,,,,,,,,,,,,试一试   ,,,,,,,,,,,,{   ,,,,,,,,,,,,//数据处理   ,,,,,,,,,,,,String  [], lineSplit =, line.split (", ");//18661629496, 110   ,,,,,,,,,,,,String  anum =, lineSplit [0];   ,,,,,,,,,,,,String  bnum =, lineSplit [1];,,   ,,,,,,,,,,,,//输出格式:110,18661629496,,,,,,,,,,,   ,,,,,,,,,,,,context.write (new 文本(bnum), new 文本(anum));   ,,,,,,,,,,,,   ,,,,,,,,,,,,}   ,,,,,,,,,,,,抓(ArrayIndexOutOfBoundsException  e)   ,,,,,,,,,,,,{   ,,,,,,,,,,,,context.getCounter (Counter.LINESKIP) .increment(1);//出错时计数器+ 1   ,,,,,,,,,,,,返回;   ,,,,,,,,,,,,}      ,,,,,,,}   ,,,}      ,,,public  static  class  Reduce  extends  Reducer<文本,文本,文本,Text>, {      ,,,,,,,public  void 减少(Text 关键,Iterable,价值观,Context 上下文)   ,,,,,,,,,,,,,,,throws  IOException, InterruptedException  {   ,,,,,,,,,,,String  valueString;   ,,,,,,,,,,,String =" ";   ,,,,,,,,,,,,(Text 价值:值)   ,,,,,,,,,,,{   ,,,,,,,,,,,valueString=value.toString ();   ,,,,,,,,,,,+=valueString +“|”;   ,,,,,,,,,,,}   ,,,,,,,,,,,context.write(钥匙,,new 文本());   ,,,,,,,}   ,,,}      ,,,public  static  void  main (String [], args), throws  Exception  {   ,,,,,,,Configuration  conf =, new 配置();   ,,,,,,,if  (args.length  !=, 2), {   ,,,,,,,,,,,System.err.println(“请配置输入输出路径,”);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

MapReduce编程实战2——倒排索引(jar包)