gpt4 book ai didi

java - mapred.Mapper 与 mapreduce.Mapper

转载 作者:可可西里 更新时间:2023-11-01 15:05:49 25 4
gpt4 key购买 nike

我使用 MR1 API(hadoop-core-1.2.1.jar) 编写了一个示例字数统计程序。映射器类定义如下,

 public interface Mapper<K1, V1, K2, V2> extends JobConfigurable,
Closeable { ... }


public static class Map extends MapReduceBase implements
Mapper<LongWritable, Text, Text, IntWritable>{ ... }

当我想到使用 MR2 API (hadoop-mapreduce-client-core-2.2.0.jar) 对其进行测试时,我发现 Mapper 被定义为一个类,

 public class Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { ... }

谁能告诉我是否遗漏了什么,或者它真的在 1.x 中定义为接口(interface)而在 2.x 中定义为类吗?

最佳答案

是的,Hadoop 提供两种不同的 API。

Hadoop 1.x 的原始 mapred.* API 将 Mappers 和 Reducers 实现为接口(interface)。 mapreduce.* API 后来被添加到 Hadoop 2.x 并使用类。尽管在引入 mapreduce.* API 后旧的 mapred.* API 已被弃用,但它仍然被大量使用,因此仍然存在。

关于java - mapred.Mapper 与 mapreduce.Mapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28123496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com