需求:
自己写的程序也可以动态修改参数,编写Yarn的Tool接口( 使用WordCount案例 )
WordCount类:
实现 Tool 接口并且实现其 run()、setConf()、getConf()方法
在该类中编写 mapper 和 reducer(与 MapReduce 中一致)
在 run() 方法中传入核心驱动 conf (继续编写Driver中的那几步)
在 getConf() 方法中为 conf赋值(别人获取的话直接拿走)
setConf() 方法中(通过外部传进来)
WordCountDriver类:
创建配置
判断路径是否是 wordcount
如果是则新创建一个 tool 接口
如果不是则新创建一个异常(没有这个tool接口)
执行程序 ToolRunner.() (选择三个参数的)
Arrays.copyOfRange() 拷贝传进来的参数
打包后将 jar 包传入集群然后执行
(在输入输出前设置添加参数 -Dmapreduce.job.queuename= )