问题标签 [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.

0 投票
0 回答
321 浏览

hadoop - Map-Reduce 组合器不起作用

我曾尝试使用此脚本: http ://www.cs.bgu.ac.il/~dsp112/Map-Reduce_Template 但组合器在(第 69 行)失败。

合并输出记录 11,746,934 ... 合并输入记录 11,746,934

我已经分析了文本平面文件,但我该如何调试呢?

0 投票
1 回答
222 浏览

configuration - Hadoop 配置 - 映射器/组合器是否受 io.sort.factor 和 io.sort.mb 影响?

如果我修改 io.sort.factor 和 io.sort.mb,在 map 端进行的本地排序是使用这些变量,还是仅由 reducer 端的排序使用?

0 投票
3 回答
1052 浏览

hadoop - 在 hadoop 中有两个映射器的情况下,仅用于一个映射器的组合器

我有两个映射器类,它们处理不同的输入,但它们的输出将采用相同的格式,并将转到同一个 reducer。是否可以只为两个映射器类之一实现组合器?

0 投票
4 回答
26910 浏览

mapreduce - 组合器和减速器可以不同吗?

在许多 MapReduce 程序中,我看到一个 reducer 也被用作组合器。我知道这是因为这些程序的特殊性质。但我想知道它们是否可以不同。

0 投票
3 回答
1635 浏览

hadoop - 如何在 Hadoop 运行时确定任务是减速器还是组合器?

如果使用 MapReduce 执行的操作不是可交换的和关联的,那么 combiner 不能与 reducer 相同。

例如,在计算平均值时,组合器对键的值求和,然后归约器求和,然后将总和除以该键的值的总数。组合器的代码只有轻微的修改。如果您可以对 combiner 和 reducer 使用相同的类,并且可以确定当前任务是 combiner 还是 reducer,那会怎样?如果它发现它是一个reducer,那么它将总和除以计数。

像这样的东西:

是否有可能做到这一点?THIS_IS_A_REDUCER可以用某些东西代替上面的代码和平吗?

我可以从任务尝试 ID 字符串中确定任务是映射器还是减速器,但组合器和减速器似乎都具有相似的字符串模式。

0 投票
1 回答
1930 浏览

hadoop - 为什么组合器输入记录的数量多于地图的输出数量?

Combiner 在 Mapper 之后和 Reducer 之前运行,它将接收给定节点上 Mapper 实例发出的所有数据作为输入。然后它向 Reducers 发出输出。所以组合器输入的记录应该少于地图输出。

0 投票
2 回答
1023 浏览

hadoop - 映射器内组合以及映射器的清理例程何时执行?

我正在尝试简单的双元(单词对)计数,我尝试使用简单的“对”方法,现在我只是修改为尝试“条纹”方法,但是在映射器的清理例程中,不知何故我的所有键都是相同的单词对(就像最后一个单词对!)和计数。

例如文本输入是:

我的名字是富。Foo 是 Hadoop 的新手。

在映射器中,我的哈希图看起来像:

但是在清理例程中,我尝试打印相同的哈希图,它看起来像

我的代码如下所示:

注意:TextPair 是我的自定义键类。有什么建议吗?

编辑1:

地图的清理例程,在所有地图任务完成后最后执行吗?哈希是一种“全局”,它或我的迭代器有问题吗?

编辑2:

在散列之前,我必须在 map() 中的每次迭代中创建新的 TextPair Key 对象,这就是问题所在......它已解决,但想知道为什么会这样?我在 Python 中使用了 hash 很多次,它很好,没有痛苦,为什么我每次都需要创建新对象,我不明白。

0 投票
1 回答
74 浏览

java - 映射器输出在组合器中翻倍

映射器只输出一次值。但是当我检查组合器的值是两次时。这对我来说真的很奇怪。

请帮忙。

发送输出的地图代码模块:

在组合器中:

当我在此处查看时,我看到与键对应的值加倍:

提前致谢!

0 投票
2 回答
2533 浏览

java - 两个相等的组合键不会到达同一个减速器

我正在使用 MapReduce 框架用 Java 制作一个 Hadoop 应用程序。

我只对输入和输出使用 Text 键和值。在减少到最终输出之前,我使用组合器进行额外的计算步骤。

但我有一个问题,钥匙不去同一个减速器。我在组合器中创建并添加这样的键/值对:

我主要创建这样的工作:

从减速器打印的标准输出中的输出是这样的:

这是没有意义的,因为键是相同的,因此它应该是 2 个减速器,它的 Iterable 中有 3 个相同的值

希望你能帮助我深入了解这个:)

0 投票
2 回答
1864 浏览

hadoop - 应该从 Hadoop 中的哪个类继承(或扩展)Combiner?

在 Hadoop 中,mapper 和 reducer 类应该扩展 Mapper 或 Reducer 接口。但是,我找不到组合器类应该扩展的接口。Hadoop 中组合器类的签名是什么?