reduce 任务是否在所有 map 任务完成后开始?
Do the reduce tasks start after all the map tasks have finished?
例如对于排序示例。它的文件是:
d1 a b c d -> M1
d2 c f k -> M2
d3 c f f -> M3
d4 a b d d -> M4
并且每个文档都转到一个映射任务,然后如果(让我们只讨论 "a")M1 2 和 3 首先完成并减少开始,它将不知道来自 d4 的 a。
那会发生什么? M4 什么时候结束?
reducer 进程(通常)会在 mappers 完成之前启动,但实际的 reduce()
调用不会发生,直到所有 mappers 完成并且中间记录已发送到 reducers。
例如对于排序示例。它的文件是:
d1 a b c d -> M1
d2 c f k -> M2
d3 c f f -> M3
d4 a b d d -> M4
并且每个文档都转到一个映射任务,然后如果(让我们只讨论 "a")M1 2 和 3 首先完成并减少开始,它将不知道来自 d4 的 a。
那会发生什么? M4 什么时候结束?
reducer 进程(通常)会在 mappers 完成之前启动,但实际的 reduce()
调用不会发生,直到所有 mappers 完成并且中间记录已发送到 reducers。