考虑一个 .txt 文件.. 因为我没有由换行符分隔的段落。
现在我需要计算每个段落中的单词数.. 将计数的单词视为映射器中的一个键,并最初为 all 分配一个值 1
在 Reducer 中给我一个排序的输出请给我一个完整的代码以便更好地理解,因为我是一个新人
请给我更好的说明如何计算每个段落中的单词数
问问题
136 次
1 回答
0
Mapper 进行计数不会产生您试图通过 map reduce 技术实现的性能。
要真正利用 map reduce 的好处,您应该考虑处理段落编号(第 1 段为 1,第 2 段为 2,依此类推),然后将这些段落发送到在不同节点上运行的不同 reducer 进行单独计数(利用该功能并行处理)然后对输出进行排序,您可以将其输入到一个简单的程序中为您进行排序,或者如果段落数很大,则将其输入到另一个 map reduce 作业中。在这种情况下,您需要考虑一系列数字作为 map reduce 的键,例如从 1 到 10 的数字(从前一个 map reduce 作业中获得的段落中的字数)应该落入一个桶中并且应该被映射到一个键,然后各个减速器可以对这些单独的桶进行排序,
可以在以下位置找到 map-reduce 的示例实现:http: //hadoop.apache.org/common/docs/r0.20.2/mapred_tutorial.html
于 2012-10-15T14:08:01.377 回答