mapreduce中reducers个数设置.pdfVIP

  • 9
  • 0
  • 约3.7千字
  • 约 3页
  • 2017-09-16 发布于浙江
  • 举报
mmaapprreedduuccee中中rreedduucceerrss个个数数设设置置 分类: hadoop 2013-12-11 11:00 182人阅读 评 (2) 收藏 举报 mapreduce        MapReduce框架将文件分为多个splits,并为每个splits创建一个Mapper,所以Mappers的个数直接由 splits的数 目决定。而Reducers的数 目可以通过job.setNumReduceTasks()函数设置,默认情况只有一个Reducer。 在真正的集群环境下,如果默认,那么所有的中间数据会发送给唯一的Reducer,导致任务变得非常缓慢。究竟设多 少个Reducers合适呢?为了解决这个问题,首先来了解一下slots的概念。        slots有点类似一个资源池,每个任务 (map和reduce)执行时都必须获得一个slot才能继续,否则只 能等待。当一个任务完成后,该任务就归还slot,这个过程有点类似释放资源到资源池中。显然,每一个获得资源 的任务都可以立即执行,无需等待。另一方面,mapreduce的任务由tasktracker节点负责执行的,所以slots可进一 步理解为tasktrackers能够并发执行多个任务。slots分为mapper slots和reducer slots

文档评论(0)

1亿VIP精品文档

相关文档