hi我想知道jobconf和作业对象之间的基本区别,目前我正在提交我的作业,就像这个
JobClient.runJob(jobconf);
我看到了其他提交作业的方式,比如这个
Configuration conf = getConf();
Job job = new Job(conf, "secondary sort");
job.waitForCompletion(true);
return 0;
如何使用jobconf为作业指定sortcomparator类?
有人能给我解释一下这个概念吗?
简言之:JobConf
和org.apache.hadoop.mapred
包中的所有其他内容都是旧的API的一部分,用于编写hadoop作业,Job
和org.apache.hadoop.mapreduce
包中的一切都是新的首选API的一部分。这两个API通常都提供等效的核心功能。
如果您是hadoop的新手,请开始使用新的API(即Job
和Configuration
,而不是JobConf
)。请确保不要从mapred
程序包中导入任何内容。当您在互联网上找到使用旧API的示例时,您可以使用此演示文稿或本指南将其翻译为新的API。
在旧的API中,作业配置由JobConf对象完成。在新的API中,作业配置是通过配置对象完成的。
作业控制是通过新API中的作业类执行的,而不是通过旧的JobClient,它已不存在于新的API中。