Hadoop jobcontrol

问题描述 投票:0回答:3

我正在尝试在Hadoop中运行多个Map / Reduce任务。在google上搜索后,我按照http://cloudcelebrity.wordpress.com/2012/03/30/how-to-chain-multiple-mapreduce-jobs-in-hadoop/所述使用方法2:使用JobControl。我收到以下错误:

/examples2/format/Dictionary.java:100: error: no suitable method found for addJob(org.apache.hadoop.mapreduce.Job)
jbcntrl.addJob(job);
       ^
method JobControl.addJob(org.apache.hadoop.mapred.jobcontrol.Job) is not applicable
      (actual argument org.apache.hadoop.mapreduce.Job cannot be converted to org.apache.hadoop.mapred.jobcontrol.Job by method invocation conversion)

Is it better to use the mapred or the mapreduce package to create a Hadoop Job?所述,有两个不同的API,在这里似乎未对齐。进一步查看后,我发现了JobControl and JofConf.setMapperClass() error。他们说使用mapreduce包org.apache.hadoop.mapreduce.lib.jobcontrol.JobControl' instead of 'org.apache.hadoop.mapred.jobcontrol.JobControl应该解决它。唯一的问题是:我正在使用它。当我查看这个特定文件时(hadoop-mapreduce-project / hadoop-mapreduce-client / hadoop-mapreduce-client-core / src / main / java / org / apache / hadoop / mapreduce / lib / jobcontrol / JobControl。 java在源代码中),我看到它正在使用

import org.apache.hadoop.mapred.jobcontrol.Job;

代替

import org.apache.hadoop.mapreduce.Job;

在我看来是哪个原因引起的错误(正确吗?)。除了将代码还原为mapred之外,还有什么方法可以解决此问题?还是以其他方式运行多个M / R作业?

更新:我从http://cloudcelebrity.wordpress.com/2012/03/30/how-to-chain-multiple-mapreduce-jobs-in-hadoop/获得了方法1,但我仍然对该问题的答案感兴趣。

java hadoop mapreduce job-control
3个回答
0
投票
oozie文档中的示例包含多个MR作业,包括一个分叉:

0
投票

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.