2018年1月28日
摘要: Reduce阶段三个步骤: Step2.1就是一个Shuffle[随机、洗牌]操作。 Shuffle是什么? 针对多个map任务的输出按照不同的分区(Partition)通过网络复制到不同的reduce任务节点上,这个过程就称作为Shuffle。 Shuffle过程: Map端: 1.在map端首先 阅读全文
posted @ 2018-01-28 19:57 NightRaven 阅读(190) 评论(0) 推荐(0) 编辑
摘要: Map阶段总共五个步骤:如图就是分区操作 哪个key到哪个Reducer的分配过程,是由Partitioner规定的。 Hadoop内置Partitioner MapReduce的使用者通常会指定Reduce任务和Reduce任务输出文件的数量(R)。 用户在中间key上使用分区函数来对数据进行分区 阅读全文
posted @ 2018-01-28 19:17 NightRaven 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 我们目前出现的瓶颈问题: 1.如果我们有10亿个数据,Mapper会生成10亿个键值对在网络间进行传输,但如果我们只是对数据求最大值,那么很明显的Mapper只需要输出它所知道的最大值即可。这样做不仅可以减轻网络压力,同样也可以大幅度提高程序效率。 总结:网络带宽严重被占降低程序效率; 2.假设使用 阅读全文
posted @ 2018-01-28 19:03 NightRaven 阅读(298) 评论(0) 推荐(0) 编辑