首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >映射缩减和哈希分区

映射缩减和哈希分区
EN

Stack Overflow用户
提问于 2015-04-19 14:59:35
回答 4查看 1.3K关注 0票数 2

在学习MapReduce时,我遇到了这个问题

给定的Mapreduce程序具有Map阶段,生成100个键值对和10个唯一键。 当使用散列分区器时,至少会有一个约简任务没有分配键(选择所有正确的答案),这个程序可以有多少个减少任务?

  • A. 3
  • B. 11
  • C. 50
  • D. 101

答案是B,C,D。

由于唯一的键数是10。我们必须至少有10减少任务。并且至少有一个约简任务有空键。

我无法理解这些答案是如何得出的。请帮我这个忙。

EN

回答 4

Stack Overflow用户

发布于 2015-04-19 19:27:42

映射输出中的唯一键只分配给一个约简任务。如果有10个唯一的键,并且有11个、50个或101个减缩任务,那么必然会有一些没有键的减缩任务。

票数 1
EN

Stack Overflow用户

发布于 2016-08-09 07:58:02

因为有10个独特的键,我们需要10个减速器,因为我们想要一个没有键分配的减速机,总共有11个减速机。

如果减速器的数量超过或等于11,则作业将毫无例外地运行。因此,任何大于或等于11的数字都是答案。

票数 1
EN

Stack Overflow用户

发布于 2022-08-22 18:17:52

在这种情况下,散列分析器仅仅意味着减少任务将由唯一的键合并。假设一个约简任务只在一个服务器上完成,因此10个任务中的每一个都是原子任务。

模块操作符(或任何合理的分区器)将确保在10个任务的情况下,3个服务器/还原器中的每个服务器都处于活动状态。

对于其他选项,如果有比任务更多的“减缩器”,如果我们要相信分区函数,那么所有的任务都将被分配给一个“减速器”(只有一个剩余的任务)。这是荒谬的,或者至少在没有额外背景的情况下是令人困惑的。显然,只有当任务数量超过减缩器/服务器的数量时,才需要分区。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29731547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档