问题标签 [combiners]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hadoop - Map-Reduce 组合器不起作用
我曾尝试使用此脚本: http ://www.cs.bgu.ac.il/~dsp112/Map-Reduce_Template 但组合器在(第 69 行)失败。
合并输出记录 11,746,934 ... 合并输入记录 11,746,934
我已经分析了文本平面文件,但我该如何调试呢?
configuration - Hadoop 配置 - 映射器/组合器是否受 io.sort.factor 和 io.sort.mb 影响?
如果我修改 io.sort.factor 和 io.sort.mb,在 map 端进行的本地排序是使用这些变量,还是仅由 reducer 端的排序使用?
hadoop - 在 hadoop 中有两个映射器的情况下,仅用于一个映射器的组合器
我有两个映射器类,它们处理不同的输入,但它们的输出将采用相同的格式,并将转到同一个 reducer。是否可以只为两个映射器类之一实现组合器?
mapreduce - 组合器和减速器可以不同吗?
在许多 MapReduce 程序中,我看到一个 reducer 也被用作组合器。我知道这是因为这些程序的特殊性质。但我想知道它们是否可以不同。
hadoop - 如何在 Hadoop 运行时确定任务是减速器还是组合器?
如果使用 MapReduce 执行的操作不是可交换的和关联的,那么 combiner 不能与 reducer 相同。
例如,在计算平均值时,组合器对键的值求和,然后归约器求和,然后将总和除以该键的值的总数。组合器的代码只有轻微的修改。如果您可以对 combiner 和 reducer 使用相同的类,并且可以确定当前任务是 combiner 还是 reducer,那会怎样?如果它发现它是一个reducer,那么它将总和除以计数。
像这样的东西:
是否有可能做到这一点?THIS_IS_A_REDUCER
可以用某些东西代替上面的代码和平吗?
我可以从任务尝试 ID 字符串中确定任务是映射器还是减速器,但组合器和减速器似乎都具有相似的字符串模式。
hadoop - 为什么组合器输入记录的数量多于地图的输出数量?
Combiner 在 Mapper 之后和 Reducer 之前运行,它将接收给定节点上 Mapper 实例发出的所有数据作为输入。然后它向 Reducers 发出输出。所以组合器输入的记录应该少于地图输出。
hadoop - 映射器内组合以及映射器的清理例程何时执行?
我正在尝试简单的双元(单词对)计数,我尝试使用简单的“对”方法,现在我只是修改为尝试“条纹”方法,但是在映射器的清理例程中,不知何故我的所有键都是相同的单词对(就像最后一个单词对!)和计数。
例如文本输入是:
我的名字是富。Foo 是 Hadoop 的新手。
在映射器中,我的哈希图看起来像:
但是在清理例程中,我尝试打印相同的哈希图,它看起来像
我的代码如下所示:
注意:TextPair 是我的自定义键类。有什么建议吗?
编辑1:
地图的清理例程,在所有地图任务完成后最后执行吗?哈希是一种“全局”,它或我的迭代器有问题吗?
编辑2:
在散列之前,我必须在 map() 中的每次迭代中创建新的 TextPair Key 对象,这就是问题所在......它已解决,但想知道为什么会这样?我在 Python 中使用了 hash 很多次,它很好,没有痛苦,为什么我每次都需要创建新对象,我不明白。
java - 映射器输出在组合器中翻倍
映射器只输出一次值。但是当我检查组合器的值是两次时。这对我来说真的很奇怪。
请帮忙。
发送输出的地图代码模块:
在组合器中:
当我在此处查看时,我看到与键对应的值加倍:
提前致谢!
java - 两个相等的组合键不会到达同一个减速器
我正在使用 MapReduce 框架用 Java 制作一个 Hadoop 应用程序。
我只对输入和输出使用 Text 键和值。在减少到最终输出之前,我使用组合器进行额外的计算步骤。
但我有一个问题,钥匙不去同一个减速器。我在组合器中创建并添加这样的键/值对:
我主要创建这样的工作:
从减速器打印的标准输出中的输出是这样的:
这是没有意义的,因为键是相同的,因此它应该是 2 个减速器,它的 Iterable 中有 3 个相同的值
希望你能帮助我深入了解这个:)
hadoop - 应该从 Hadoop 中的哪个类继承(或扩展)Combiner?
在 Hadoop 中,mapper 和 reducer 类应该扩展 Mapper 或 Reducer 接口。但是,我找不到组合器类应该扩展的接口。Hadoop 中组合器类的签名是什么?