【问题标题】:MapReduce chained job never endsMapReduce 链式作业永无止境
【发布时间】:2014-04-07 15:50:46
【问题描述】:

我正在尝试使用 org.apache.hadoop.mapred.jobcontrol.* 库而不是经典的库来链接两个作业,但是当我使用 Hadoop 执行我的 .jar 文件时,它永远不会结束,即使它产生了我预期的正确输出。

我想使用这个库,并且知道如何在第二个作业完成后停止执行。就像我使用过 job.waitForCompletion(true) 一样,也就像我执行一个只包含一个作业的 .jar 一样。

import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapred.*;
import org.apache.hadoop.mapred.jobcontrol.Job;
import org.apache.hadoop.mapred.jobcontrol.JobControl;

public class Interest {
    public static void main(String[] args) throws Exception {

        JobConf conf1 = new JobConf(Interest.class);
        conf1.setJobName("Interest");
        conf1.setMapperClass(InterestMapperA.class);
        conf1.setReducerClass(InterestReducerA.class);
        conf1.setMapOutputKeyClass(Text.class);
        conf1.setMapOutputValueClass(IntWritable.class);
        conf1.setOutputKeyClass(Text.class);
        conf1.setOutputValueClass(IntWritable.class);
        FileInputFormat.addInputPath(conf1, new Path(args[0]));
        FileOutputFormat.setOutputPath(conf1, new Path("temp"));

        JobConf conf2 = new JobConf(Interest.class);
        conf2.setJobName("Interest");
        conf2.setMapperClass(InterestMapperB.class);
        conf2.setReducerClass(InterestReducerB.class);
        conf2.setMapOutputKeyClass(IntWritable.class);
        conf2.setMapOutputValueClass(Text.class);
        conf2.setOutputKeyClass(Text.class);
        conf2.setOutputValueClass(IntWritable.class);
        FileInputFormat.addInputPath(conf2, new Path("temp"));
        FileOutputFormat.setOutputPath(conf2, new Path(args[1]));

        Job job1 = new Job(conf1);
        Job job2 = new Job(conf2);
        JobControl jbcntrl = new JobControl("jbcntrl");
        jbcntrl.addJob(job1);
        jbcntrl.addJob(job2);
        job2.addDependingJob(job1);
        jbcntrl.run();        
    }
}

【问题讨论】:

    标签: java eclipse hadoop mapreduce


    【解决方案1】:

    我已经用旧库解决了这个问题,事实上最新的库没有管理作业依赖的属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多