MapReduce2的作业调优检查表:
范围 | 最佳实践 | 更多参考信息 |
---|---|---|
mapper的数量 | mapper需要运行多长时间?如果平均只运行几秒钟,则可以看是否能用更少mapper运行更长的时间,通常是一分钟左右。时间长度取决于使用的输入格式 | MapReduce的输入分片与记录 |
reducer的数量 | 检查使用的reducer数目是不是超过1个。根据经验,Reduce任务应运行5分钟左右,且能生产出至少一个数据块的数据 | |
combiner | 作业能否充分利用combiner来减少通过shuffle传输的数据量 | MapReduce中的combiner函数 |
中间值的压缩 | 对map输出进行压缩几乎总能使作业执行得更快 | 在MapReduce中使用压缩 |
自定义序列 | 如果使用自定义的Writable对象或自定义的comparator,则必须确保已实现RawComparator | |
调整shuffle | MapReduce的shuffle过程可以对一些内存管理的参数进行调整,以弥补性能的不足 | MapReduce中的shuffle和排序 |
完毕。