Map减少每个文本文件的实现

时间:2013-04-10 08:35:23

标签: text hadoop mapreduce hdfs createfile

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

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

1 个答案:

答案 0 :(得分:0)

按照以下步骤操作:

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