MapReduce多个job任务其本质原理就是job2任务依赖job1任务的返回结果即job1的输出路径是job2的输入路径。
job2任务的启动依赖job1任务结束所返回的状态。
依据自己的实际经验:多个job的串行或并行触发,我认为还是分开写几个程序,用脚本控制其执行顺序,这样便于程序的调试,管理。
当然,选择使用那种情况也是依赖项目的需求而定。
多个job依赖代码如下:
package more_job;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.