【发布时间】:2014-02-08 11:28:21
【问题描述】:
我正在学习hadoop,我通过了这条线
import org.apache.hadoop.mapreduce.Job;
Job job = new Job();
我不断收到警告(不推荐使用的类),我知道使用它会正常工作。但我不想使用已弃用的类。 那么最好的方法是什么?链接或参考将不胜感激。
注意:我使用的是 hadoop 2.2.0
【问题讨论】:
我正在学习hadoop,我通过了这条线
import org.apache.hadoop.mapreduce.Job;
Job job = new Job();
我不断收到警告(不推荐使用的类),我知道使用它会正常工作。但我不想使用已弃用的类。 那么最好的方法是什么?链接或参考将不胜感激。
注意:我使用的是 hadoop 2.2.0
【问题讨论】:
Hadoop 的新 API 仍在形成和塑造中。
您可以使用Job.getInstance(Configuration conf) 工厂方法。看看这个工厂方法的其他变体。
【讨论】:
在 1.x 中使用 Job job= new Job(),即使用任何形式的 Job 的构造函数都是有效的。 在 2.x 中,不推荐使用任何形式的 Job 的构造函数。
这可能是因为在 2.x 架构中分离了资源分配和作业管理。在 1.x 中,这两个任务都由 Job Tracker 处理。
以下是 Job 类的 API 文档的链接。 https://hadoop.apache.org/docs/r1.2.1/api/org/apache/hadoop/mapreduce/Job.html https://hadoop.apache.org/docs/r2.4.1/api/org/apache/hadoop/mapreduce/Job.html
【讨论】: