首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用MapReduce倒排索引

用MapReduce倒排索引
EN

Stack Overflow用户
提问于 2017-11-10 13:05:05
回答 1查看 1.6K关注 0票数 0

我试图为以下问题实现一个倒排索引:我得到了一个包含X文件量的目录,我需要生成以下格式的输出:

代码语言:javascript
复制
word : totalCount : [ (file_name, file_count) (file_name, file_count) ...]

例如,我们可以:

代码语言:javascript
复制
dog : 200 : [(file1, 30) (file2, 43) ....]

我实现了一个作业,它适用于每个文档,并输出每个文档中每个单词发生的次数。然而,我对我现在如何处理才能获得所有文件的计数感到困惑。

如果我有一个包含10个文档的目录,并且我的输入是目录本身的路径,那么如何为每个文档执行这10个作业?另外,如何设置从10个单独作业中提取输出的作业?我知道如何为还原器实现逻辑,但是我不知道如何设置作业配置本身以确保这是可行的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-10 13:38:46

这可以在单一的地图-减少作业。将所有输入路径传递给您的地图-减少作业。

按照下面的步骤来做。

映射输出:关键字、文件名值-计数

分区:基于word的

组分区:再次基于Word

现在在收集器中,您将得到如下的输入

代码语言:javascript
复制
Dog,file1,1
Dog,file1,1
Dog,file2,1
Dog,file2,1 

在密钥上迭代(我们只根据组压缩器将键作为word )。并对每个文件进行计数,然后将其添加并计算总数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47223444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档