我在大学的讲师说,(Hadoop)减少操作只能在所有地图操作完成后开始.
这与map-reduce流操作的输出形成对比,有时显示:
map 80% reduce 13%
map 80% reduce 27%
and then
map 100% reduce 27%
.
.
map 100% reduce 100%
Run Code Online (Sandbox Code Playgroud)
(我有一个地图减少了我家中的三个节点集群,我已经运行了一些流媒体作业).
考虑到我的讲师知道他在说什么,输出意味着什么?当reduce开始但地图没有完成时,工作状态是什么?
减少阶段有3个步骤:
1)复制(数据到减速器)
2)排序(或更准确地合并)
3)减少(执行Reduce()).
减速器可以启动时从映射数据应对这种映射执行完毕.
默认情况下,在为同一作业调度reduce任务之前,调度程序会等到作业中5%的map任务完成.对于大型作业,这可能会导致集群利用率出现问题,因为它们会在等待映射任务完成时占用减少插槽.将mapred.reduce.slowstart.completed.maps设置为更高的值,例如0.80(80%),可以帮助提高吞吐量.
| 归档时间: |
|
| 查看次数: |
1637 次 |
| 最近记录: |