嗨,我想知道jobconf和job对象之间的基本区别,目前我提交的工作是这样的
JobClient.runJob(jobconf);
我看到了其他方式提交这样的工作
Configuration conf = getConf();
Job job = new Job(conf, "secondary sort");
job.waitForCompletion(true);
return 0;
如何使用jobconf为作业指定sortcomparator类?
有人能给我解释一下这个概念吗?
2条答案
按热度按时间7y4bm7vi1#
在旧api中,作业配置是由jobconf对象完成的。在新的api中,作业配置是通过配置对象完成的。
作业控制是通过新api中的作业类执行的,而不是通过新api中不再存在的旧jobclient执行的。
tjjdgumg2#
简而言之:
JobConf
以及世界上其他的一切org.apache.hadoop.mapred
包是用于编写hadoop作业的旧api的一部分,Job
以及世界上的一切org.apache.hadoop.mapreduce
包是编写hadoop作业的新的首选api的一部分。这两个api通常提供等效的核心功能。如果你是hadoop新手,就开始使用新的api(即。
Job
以及Configuration
而不是JobConf
). 确保不要从数据库导入任何内容mapred
包裹。当您在internet上找到使用旧api的示例时,可以使用本演示文稿或本指南将其转换为新api。