我对hadoopmap/reduce框架中的组合器功能有疑问。组合器操作仅应用于map任务输出的键值对,或应用于给定节点上发生的所有map任务。事实上,我做了一些测试,这似乎是第一个。如果我是对的,根据你的说法,为什么选择这种行为是因为知道合并所有map任务输出可以非常有利于减少带宽使用。提前谢谢
mqkwyuun1#
它如何知道所有Map任务何时完成?tasktracker不知道jobtracker将如何分配Map任务。在运行合并器之前,您可能需要等待所有Map任务完成。您仍然希望保持Map器和还原器之间的数据流移动。当合并器运行并创建输出时,数据立即开始被洗牌到减速器(除非slowstart配置设置为较高的值)。这是好的,因为它会随着时间的推移分散网络利用率。
1条答案
按热度按时间mqkwyuun1#
它如何知道所有Map任务何时完成?tasktracker不知道jobtracker将如何分配Map任务。在运行合并器之前,您可能需要等待所有Map任务完成。
您仍然希望保持Map器和还原器之间的数据流移动。当合并器运行并创建输出时,数据立即开始被洗牌到减速器(除非slowstart配置设置为较高的值)。这是好的,因为它会随着时间的推移分散网络利用率。