jobconf和job之间的基本区别是什么?

6yoyoihd  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(861)

嗨,我想知道jobconf和job对象之间的基本区别,目前我提交的工作是这样的

JobClient.runJob(jobconf);

我看到了其他方式提交这样的工作

Configuration conf = getConf();
Job job = new Job(conf, "secondary sort");
job.waitForCompletion(true);     
return 0;

如何使用jobconf为作业指定sortcomparator类?
有人能给我解释一下这个概念吗?

7y4bm7vi

7y4bm7vi1#

在旧api中,作业配置是由jobconf对象完成的。在新的api中,作业配置是通过配置对象完成的。
作业控制是通过新api中的作业类执行的,而不是通过新api中不再存在的旧jobclient执行的。

tjjdgumg

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。

相关问题