【发布时间】:2011-12-13 06:18:23
【问题描述】:
这听起来像是一项简单的工作,但使用 MapReduce 似乎并不那么简单。
我有 N 个文件,其中每个文件只有一行文本。我希望 Mapper 输出键值对,例如 ,其中“分数”是从文本行计算的整数。作为旁注,我使用下面的 sn-p 这样做(希望它是正确的)。
FileSplit fileSplit = (FileSplit)reporter.getInputSplit();
String fileName = fileSplit.getPath().getName();
假设映射器正确地完成了它的工作,它应该输出 N 个键值对。 现在的问题是我应该如何对 Reducer 进行编程以输出具有最大 'score' 的一个键值对?
据我所知,Reducer 仅适用于共享相同键的键值对。由于这种情况下的输出都有不同的键,我猜应该在 Reduce 步骤之前做一些事情。或者也许应该完全省略 Reduce 步骤?
【问题讨论】: