首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络协议 >

MapReduce只需要一个输出文件时reduce个数有关问题

2012-06-18 
MapReduce只需要一个输出文件时reduce个数问题。我需要处理一个文件,文件中存放了一个浮点数矩阵,需要对文

MapReduce只需要一个输出文件时reduce个数问题。
我需要处理一个文件,文件中存放了一个浮点数矩阵,需要对文件中每一个浮点数进行计算,转换成另一个浮点数。输出结果是一个新的矩阵。

  我用map将矩阵文件拆分,每个map任务处理一个矩阵的一部分。而输出的时候由于我只需要一个输出文件,所以这个时候我设置reduce个数为1. 但是,你知道,reduce个数为1的时候效率很低的,每个map任务都要把数据传送给这个reduce,体现不出分布式处理的优势了。怎么办?

  而如果把reduce个数设置为多个,那么最终我的输出还是需要一个文件,如何合并reduce输出的多个文件为一个?

  或者,这样的问题有没有其他方法解决? 


[解决办法]
一年多没用这个了。
但是我记得,当时输出文件都是在hdfs文件系统下,每个reduce节点输出的结果都是输出结果的一部分,可以使用hdfs的merge命令将这些文件合并起来。

如果你reduce就是直接放在一个计算节点上做的话,那肯定就只能比较低效的运行了。

热点排行