倒排索引:求取哪些单词在哪些文章里面出现过多少次
创建cn.itcast.demo2包
在包下创建IndexMain、IndexMapper、IndexReducer三个类
在IndexMapper类中,k1,v1类型为LongWritable,Text,k2,v2类型为Text,IntWritable
重写map方法
首先利用context.getInputSpilt();获取切片,在用FileSplit做一个强转,获取数据从哪个文档中来,定义为fileSplit
之后再用fileSplit.getPath().getName();获取文档的名字,定义为name字符串
利用value.toString().split(" ");对文档中的数据,也就是k1进行分割,并收集到split数组中去
循环遍历输出new Text(s+"-"+name),new InputWritable
在IndexReducer类中,k1,v1类型为Text,IntWritablet,k2,v2类型为Text,IntWritable
重写reduce方法
定义一个Int参数i,并初始化为0
将v2循环遍历 利用i += value.get();
输出k3,v3
IndexMain 不规矩