从wordcount词频统计代码到倒排索引的改编
分析word count代码
Map中输出了单词和intwriteable类的对象one,而倒排索引,需要输出单词和文件名@偏移,偏移是key中含有的,使用.tostring方法就可以将它变成字符串与文件名和@连接。要输出文件名,需要导入Fliesplit类,将输入的文件分开,并通过.getname()方法获得文件名。
Reduce中,wordcount输入是单词和intwriteable类的one,输出是单词和sum后的数字。而倒排索引输入是单词和Text类的字符串,并将相同单词的字符串通过“;”拼接起来。
修改后的代码
package wordcount;
//导入必要的package
import java.io.IOException; //报错类
import java.util.Iterator;//迭代器,与string和next有关
import java.util.StringTokenizer; //StringTokenizer类,用于将空白字符作为分割符的类
import org.apache.hadoop.mapreduce.lib.input.FileSplit;//文件分割类,使用它可以获取文件的文件路径等信息。
import org.apache.hadoop.conf.Configuration;//Hadoop中用于读取配置信息的类
import org.apache.hadoop.fs.Path; //有关文件系统输入输出数据的类
import org.apache.hadoop.io.IntWritable; //封装定义了IntWritable类
import org.apache.hadoop.io.Text; //封装定义了Text类
import org.apache.hadoo
从wordcount词频统计代码到倒排索引的改编
最新推荐文章于 2023-09-08 20:17:05 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)