在阅读有关MapReduce的内容时,我阅读了以下有趣的内容:
“但是,Reducer如何知道要查询哪些节点来获取它们 分区?这通过Application Master发生。每个 Mapper实例完成后,它会通知Application Master 它在运行期间产生的分区。 每个Reducer 定期查询Mapper主机的Application Master,直到它为止 已收到托管其分区的节点的最终列表。“
我有疑问。当他们说每个Reducer 时,它究竟是什么意思?是否在映射阶段开始之前分配Reducer以及如何选择reducer节点?
答案 0 :(得分:0)
减少器可以在完成数据处理之前启动。一旦它们启动,它们就可以从映射器中提取数据,但只有在所有映射器完成数据处理后才会开始处理。
mapred.reduce.slowstart.completed.maps 是配置此行为的属性。有关该属性的更多信息here。