嗨我想知道jobconf和job对象之间的基本区别,目前我正在提交这样的工作
JobClient.runJob(jobconf);
我看到了提交这样的工作的其他方式
Configuration conf = getConf();
Job job = new Job(conf, "secondary sort");
job.waitForCompletion(true);
return 0;
如何使用jobconf为作业指定sortcomparator类?
任何人都可以向我解释这个概念吗?
答案 0 :(得分:24)
简而言之:JobConf
和org.apache.hadoop.mapred
包中的其他所有内容都是用于编写hadoop作业的旧API的一部分,Job
并且org.apache.hadoop.mapreduce
包中的所有内容都是编写hadoop作业的新API和首选API的一部分。这两种API通常都提供相同的核心功能。
如果您刚接触hadoop,请立即开始使用新API(例如Job
和Configuration
而不是JobConf
)。确保不从mapred
包中导入任何内容。当您使用旧API在互联网上找到示例时,可以使用this presentation或this guide将其转换为新的API。
答案 1 :(得分:3)
在旧的API作业配置中,由JobConf对象完成。在新API中,作业配置是通过Configuration对象完成的。
作业控制是通过新API中的Job类执行的,而不是旧的 JobClient,新API中不再存在。