3

在旧版本的 hadoop 库(即 org.apache.hadoop.mapred.lib)中,有一个称为IdentityMapper的 Mapper 基本实现,它本质上将所有键值对传递给 Reducer。

但是,我发现在较新版本的 hadoop 库(org.apache.hadoop.mapreduce.lib)中,它没有任何名为 IdentityMapper 的类(Mapper 的所有子类都可以在 这里找到)。

我可以知道 IdentityMapper 是改名还是在新库中消失了?

如果答案是第二个,我能进一步知道为什么 IdentityMapper 会消失吗?这是否意味着我们可以链接多个 Reducer 而无需在其间使用 Mapper?

4

1 回答 1

15

我突然意识到设计...

简短的回答是:新的 Mapper 是旧的 IdentityMapper。

这是一个更长的答案:

在旧库中,Mapper是一个接口,其基本实现称为IdentityMapper

但是,在新库中,它不再具有映射器的基本接口。相反,它有一个称为Mapper的映射器通用基类,其实现是以前的 IdentityMapper。

于 2013-10-29T19:00:22.490 回答