Elastic MapReduce中可用的减速器

Joh*_*ohn 12 reduce amazon hadoop aggregate mapreduce

我希望我能以正确的方式提出这个问题.我正在学习Elastic MapReduce的方法,并且我看到了许多对"Aggregate"减速器的引用,它可以与"Streaming"作业流程一起使用.

在亚马逊的"Amazon Elastic MapReduce简介"PDF中,它声明"Amazon Elastic MapReduce有一个名为aggregrate的默认缩减器"

我想知道的是:还有其他默认减速机可用吗?

我知道我可以编写自己的减速机,但我不想写完已经存在的东西并"重新发明轮子",因为我确信我的轮子不会像原来那样好.

Eri*_*erg 8

他们提到的减速器在这里记录:

http://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/lib/aggregate/package-summary.html

这是一个内置于流媒体工具中的reducer.它提供了一种通过编写映射器来执行常见计算的简单方法,该映射器输出以特殊方式格式化的键.

例如,如果您的映射器输出:

LongValueSum:id1\t12
LongValueSum:id1\t13
LongValueSum:id2\t1
UniqValueCount:id3\tval1
UniqValueCount:id3\tval2
Run Code Online (Sandbox Code Playgroud)

reducer将计算每个LongValueSum的总和,并计算UniqValueCount的不同值.因此减速机输出将是:

id1\t25
id2\t12
id3\t2
Run Code Online (Sandbox Code Playgroud)

与运行流式组合器和减速器相比,此包中的减速器和组合器非常快,因此使用聚合包装既方便又快捷.


tri*_*eee 4

我也有类似的情况。我从 Google 结果等推断,现在的答案是“不,Hadoop 中没有其他默认减速器”,这很糟糕,因为拥有默认减速器(例如“平均”或“中值”)显然很有用“所以你不必自己写。

http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/mapred/lib/aggregate/package-summary.html显示了许多有用的聚合器用途,但我找不到有关如何使用的文档访问文档和 Erik Forsberg 的答案中描述的非常基本的键/值和之外的其他功能。也许这个功能只在Java API中公开,我不想使用它。

顺便说一句,恐怕埃里克·福斯伯格的回答并不是这个特定问题的好答案。可以构建另一个可能是有用答案的问题,但这不是OP所要求的。