欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

运用hadoop计算TF-IDF

程序员文章站 2022-07-09 13:21:28
...

这几天一直在忙着找暑假实习,实在没精力来写新的文章。刚好这几天放假,我把前几天做了的另一个例子拿出来跟大家分享一下。

这个例子是使用hadoop来实现TF-IDF。

TF-IDFterm frequency–inverse document frequency)是一种用于资讯检索与资讯探勘的常用加权技术。具体的信息就麻烦大家自己百度一下了。

因为要实现的细节比较多,所以我直接将代码放上来。大家可以参看代码里面的注释,我写的比较详细。

我采用了两个MapReduce任务顺序执行来实现TF-IDF功能。

最后,我再针对此代码补充几点。

1:因为hadoop对处理小文件的效率比较低,如果需要处理很多小文件,我推荐大家可以将很多小文件合并成一个SequenceFile,用文件名作为key,内容作为value。然后处理SequenceFile文件,提高效率

2:本代码中还有很多可以改进的地方。比如:本代码的最后输出包含了很多中间数据,大家可以根据自己的需要删除不需要的数据。

本代码是根据输入的文件数来确定ReduceTask数和最后的文件输出数,大家也可以自己修改。最后文件的输出内容也是无序的,如果大家需要可以参看本博的另一篇博文(http://blog.csdn.net/jackydai987/archive/2011/03/12/6244725.aspx)进行多文件输出。

3:本文只是提供一个简单的思路,如果代码中有什么不对的地方请各位大大不要见笑,和给偶提出来,在下感激不尽。