BaseMR里边public abstract Job getJob(Configuration conf) throws Exception;
然后它实现的时候就是直接调用
Job job = Job.getInstance(conf,getJobNameWithTaskID());
当时可以直接就调用这个函数吗?还是说这是个设计的原则 但其实效果是一样的
谢谢!
BaseMR里边public abstract Job getJob(Configuration conf) throws Exception;
然后它实现的时候就是直接调用
Job job = Job.getInstance(conf,getJobNameWithTaskID());
当时可以直接就调用这个函数吗?还是说这是个设计的原则 但其实效果是一样的
谢谢!
是因为写mr有3种方法:1、main方法里面直接写。2、用ToolRunnr加上Configured。3、使用任务工作链。
有这么多的方式所以团队开发不统一,那为了统一mr编写规则,所以在定义了BaseMR并且里面定义了抽象方法
public abstract Job getJob(Configuration conf)
可以在里面调用Job job = Job.getInstance(conf,getJobNameWithTaskID()); 生成任务的Job
当然如果你想自由不规范你可以在任意地方,比如main方法中调用Job job = Job.getInstance(conf,getJobNameWithTaskID());生成你的Job。但是别人也像你一样随机3选1,那你们团队以后看彼此代码的时候是不是心里都在骂娘。
嗯嗯 明白了 谢谢
每个job的设置都不一样没办法进行公共设置