1

我需要计算每个文档每个单词的词频,所以我想为每个文本文件实现 map reduce 函数。如何为每个文本文件实现 map() 和 reduce()?

Map-Reduce 中的另一个问题是 Map-Reduce 将 reduce 的输出写入单个文件 /user/output/part-0000 并且项目需要将每个文件处理后的输出写入不同的文本文件,该怎么做?

4

1 回答 1

0

请按照以下步骤操作:

  1. 在作业文件中计算输入文件的数量
  2. 设置numreducers等于输入文件的数量
  3. 将数字 0 到 n-1 分配给文件并将此信息传递给分布式缓存
  4. 在映射器的方法中获取文件名setup()并检索该文件的分配编号并将其分配给某个静态变量
  5. Partitioner返回这个静态变量

Reducer 将发出“n”个文件。

于 2013-04-10T09:05:17.453 回答