gpt4 book ai didi

java - 使用 MapReduce 的倒排索引

转载 作者:可可西里 更新时间:2023-11-01 16:38:16 26 4
gpt4 key购买 nike

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

word : totalCount : [ (file_name, file_count) (file_name, file_count) ...]

例如,我们可以:

dog : 200 : [(file1, 30) (file2, 43) ....]

我实现了一项工作,该工作适用于每个单独的文档并输出每个单词在每个文档中出现的次数。但是,我对现在应该如何进行以获得所有文件的计数感到困惑。

如果我有一个包含 10 个文档的目录,并且我的输入是目录本身的路径,我如何为每个文档执行 10 个作业?另外,如何设置从 10 个单独作业中获取输出的作业?我知道如何实现 reducer 的逻辑,但是我不确定如何设置作业配置本身以确保其正常工作。

最佳答案

这可以在单个 map-reduce 作业中完成。将所有输入路径传递给您的 map-reduce 作业。

按如下方式进行。

map 输出 : key- Word,file name value- count

分区:仅基于单词

组划分:再次仅基于 Word

现在在 recuder 中你会得到这样的输入

Dog,file1,1
Dog,file1,1
Dog,file2,1
Dog,file2,1

迭代键(我们仅根据组压缩器将键作为单词)狗。并对每个文件进行计数,然后将其添加并进行总计数。

关于java - 使用 MapReduce 的倒排索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47223444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com