将参数传递到 Hadoop 中的映射函数

2022-09-02 09:19:07

我是 Hadoop 的新手。我想从 mapper 类的 map 函数中的 main function(Java 程序)访问命令行参数。请提出执行此操作的方法。


答案 1

Hadoop 0.20,引入了新的MR API,新的(o.a.h.mapreduce包)和旧的MR API(o.a.h.mapred)之间没有太大的功能区别,除了可以使用新的API在映射器和化简器内提取数据。Arnon提到的是旧的API。

请查看本文,了解如何使用新旧 API 传递参数。


答案 2

您可以通过将参数挂在配置上来传递参数

 JobConf job = new JobConf(new Configuration(), TheJob.class);
 job.setLong("Param Name",longValue)

Configuration 类具有很少的 set 方法(Long、Int、Strings 等),因此您可以传递多种类型的参数。在映射作业中,您可以从上下文中获取配置(getConfiguration)