为什么 Hadoop 中正确的缩减数量是 0.95 或 1.75?

2024-03-30

hadoop 文档指出:

正确的归约次数似乎是 0.95 或 1.75 乘以 (*mapred.tasktracker.reduce.tasks.maximum)。

0.95 所有的减少都可以立即启动并开始 地图完成时传输地图输出。用1.75更快 节点将完成第一轮缩减并启动第二轮 波减少在负载平衡方面做得更好。

这些值相当恒定吗?当您选择这些数字之间或之外的值时,结果是什么?


这些价值观应该是您的情况所需要的。 :)

以下是我对这些价值观的好处的理解:

0.95 是为了最大限度地利用可用的减速器。如果 Hadoop 默认使用单个减速器,则不会分配减速器,从而导致其花费的时间比应有的时间长。减速器的增加和时间的减少有近乎线性的拟合(在我有限的情况下)。如果1个reducer需要16分钟,那么8个reducer需要2分钟。

1.75 是一个尝试优化节点中机器的性能差异的值。它将创建多个减速器,以便较快的机器将采用额外的减速器,而较慢的机器则不会。
该数字 (1.75) 需要根据您的硬件进行比 0.95 值更多的调整。如果您有 1 台快速机器和 3 台慢速机器,也许您只需要 1.10。这个数字需要更多的实验才能找到适合您的硬件配置的值。如果减速器的数量太多,慢速机器将再次成为瓶颈。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Hadoop 中正确的缩减数量是 0.95 或 1.75? 的相关文章

随机推荐

  • 使用 Google Cloud PubSub 时不断收到“向 Cloud PubSub 发送测试消息时出错...”

    我正在尝试将 Google 的推送 PubSub 设置到我的服务器以接收 Gmail 推送通知 我得到以下范围 https mail google com https mail google com https www googleapis
  • PHP 生成 UL LI , UL LI

    无法弄清楚如何使用 while 循环生成此菜单 这是我的代码的示例 ul li a href Hoofdmenu 1 a ul class sub li a href Submenu 1 1 a li li a href Submenu 1
  • 如何让 CSS 浮动保持在一行?

    我想使用以下命令将两个项目放在同一行上float left对于左侧的项目 我独自实现这一点没有任何问题 问题是 我想要这两个项目stay在同一条线上即使您将浏览器大小调整得很小 你知道 就像桌子一样 目标是防止右侧的物品缠绕无论 如何使用
  • 如何包装 ui 控件(mapbox 地理定位控件)

    我想扩展 更改具有某些功能的地图框地理定位控件 例如 我想飞到而不是跳到当前位置 我想在打开地理控制按钮时添加一些行为 例如防止拖动 我怎么做 我尝试制作包装纸 但后来遇到了一些问题 按钮的颜色在打开时应变为蓝色 但确实如此 不再工作了 我
  • Flutter/Dart DateTime 解析 UTC 并转换为本地

    我正在尝试将 UTC 日期字符串解析为DateTime然后将其解析为本地时间 但是我在将其转换为本地时间时遇到了麻烦 在英国它应该加一 但是当我打印时 isUtc它返回为 false 这就是我现在所拥有的 print widget asse
  • 升级到 Google 通用分析

    我一直在四处寻找 以找出升级到 Universal Analytics 时需要考虑的任何事项 我找到了这个帖子 Google Analytics 升级到异步代码 https stackoverflow com questions 12060
  • VB.NET 中的“空安全”点表示法...或者它是否存在于任何语言中? “安全解引用运算符”或使用 LINQ 的等效操作?

    我正在 VB net 中寻找 安全 点符号 在 VB NET 或任何语言中是否存在这样的东西 我想要做的是 当使用不可为空遗留对象 解决如下问题 如果有一个计划 如果有一个案例 如果它有一个人 那个人的配偶 否则什么都没有 VBS表示 空
  • 在 Mac OS X Yosemite 上安装 pymssql 时出错

    我在 OS X Yosemite 10 10 3 上安装 pymssql 时收到以下错误 有人解决了以下错误吗 我正在使用 FreeTDS v0 91 112 版本 7 1 和 Python 2 7 6 tsql 实用程序连接到 SQL 数
  • sh 和 bash 中 pgrep 的区别

    这是一个测试 bash c pgrep f novalidname sh c pgrep f novalidname 11202 Why is pgrep运行时给出输出sh 据我所知 我的计算机上没有名为novalidname 这可能是一个
  • 链接到外部 css 文件

    我一直在尝试将我在本地计算机中创建的 css 文件链接到我的 html 代码 但它似乎不起作用 我们应该在 html 代码中保存想要链接的 css 文件 或者我们应该如何链接到该文件 作为一个例子 我发布了这个 html 代码
  • 功能证明 (Haskell)

    我没能读懂 RWH 我命令没有人放弃Haskell 函数式编程的技巧 现在我对第 146 页上的这些功能证明很好奇 具体来说 我试图证明 8 5 1sum reverse xs sum xs 我可以做一些归纳证明 但后来我陷入困境 HYP
  • opencv无法保存视频

    我正在尝试使用 opencv 写入方法保存视频 但视频保存为 0 kb 我的代码出了什么问题 import cv2 cap cv2 VideoCapture k1 mp4 assert cap isOpened fgbg cv2 bgseg
  • 使用 CUDA 进行希尔伯特变换

    为了对一维数组进行希尔伯特变换 必须 对数组进行 FFT 将数组的一半加倍 将另一半归零 反 FFT 结果 我正在使用 PyCuLib 进行 FFTing 到目前为止我的代码 def htransforms data N data shap
  • Firebase 实时数据库的分页

    我一直在尝试寻找一种为 Firebase 实时数据库进行分页的方法 我看到很多关于 Cloud Firestore 分页的教程 文章 但没有看到关于实时数据库的分页 下面是我的代码及其按预期工作 谁能指出我添加分页的正确方向 如果可能的话
  • 使用 Gradle 将模块化库发布到 Maven

    假设我使用 Gradle 进行模块化库开发 在我的根项目中我有子项目geometry algorithms visualizer 我想发布每个的 jar 工件 至于现在在我的根build gradle我有以下部分 apply plugin
  • MVC 模型对象、域对象和 DTO 之间有什么区别

    MVC 模型对象 域对象和 DTO 之间有什么区别 我的理解是 MVC 模型对象 对要由相应视图显示的数据进行建模 它可能不会直接映射到域对象 即可能包含来自一个或多个域对象的数据 客户端 可能包含业务逻辑 例如 验证 计算属性等 没有持久
  • 比较()中的空字段该怎么办?

    在Java中 我使用一个类 其中一些字段可以null 例如 class Foo String bar 我想为这个类写一个BarComparator private static class BarComparator implements
  • 如何使用 VBA sendkeys 打印或发送大括号 ( )

    我有以下代码 但不发送大括号 sendkeys a script sh true 但它作为 a script sh 发送 大括号缺失 Try this SendKeys a script sh True 例如 Sub Sample Dim
  • Adobe Flash Builder 能否用于调试和分析 OpenLaszlo SWF10/SWF11 应用程序?

    我读过 Adob e 的Flash Builder 4 0 支持 ActionScript 3 的分析 http help adobe com en US flashbuilder using WS6f97d7caa66ef6eb1e63e
  • 为什么 Hadoop 中正确的缩减数量是 0.95 或 1.75?

    hadoop 文档指出 正确的归约次数似乎是 0 95 或 1 75 乘以 mapred tasktracker reduce tasks maximum 0 95 所有的减少都可以立即启动并开始 地图完成时传输地图输出 用1 75更快 节