org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner } } public static void main(String[] args) throws Exception { int result = ToolRunner.run
通常不直接使用GenericOptionsParser,更方便的方式是:实现Tool接口,通过ToolRunner来执行应用程序,ToolRunner内部调用GenericOptionsParser。 (二)关于ToolRunner 1、ToolRunner与上图中的类、接口无不论什么的继承、实现关系。它仅仅继承了Object,没实现不论什么接口。 ToolRunner can be used to run classes implementing Tool interface. 关于ToolRunner的典型使用方法是: 1、定义一个类,继承Configured,实现Tool接口。 2、在main()方法中通过ToolRunner.run(…)方法调用上述类的run(String[]方法)。 四、总结 1、通过使用ToolRunner.run(…)方法。
关于ToolRunner接口的说明: 为什么实现Tool后,动态参数就能生效呢?说到Tool,就不得不提到一个类GenericOptionsParser。 在上面的代码中可以看到,在main方法中调用了ToolRunner类的run方法。 ToolRunner类中的run方法内使用了GenericOptionsParser类来解析命令行参数,最终ToolRunner类的run方法里调用的还是MrDriver类中重写的run方法。 ToolRunner.run方法的参数中看到,传入的tool参数就是我们自己编写的MrDriver类,所以ToolRunner类最终调用了我们自己重写的run方法,并且通过GenericOptionsParser
com.bie.hadoop.wordcount.WordCountRunner2.run(WordCountRunner2.java:54) at org.apache.hadoop.util.ToolRunner.run (ToolRunner.java:70) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) at com.bie.hadoop.wordcount.WordCountRunner2
org.apache.hadoop.mapreduce.lib.output.TextOutputFormat; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner Configuration(); configuration.set("querydate", args2[3]); //如果第一个程序运行成功执行第二个程序 if(0==ToolRunner.run groupcount-out/part-r-00000"; args2[2]="hdfs://192.168.1.55:9000/ordergroupcount-out"; ToolRunner.run Configuration(); configuration.set("querydate", args[3]); //如果第一个程序运行成功执行第二个程序 if(0==ToolRunner.run groupcount-out/part-r-00000"; args[2]="hdfs://192.168.1.55:9000/ordergroupcount-out"; ToolRunner.run
org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:102) at org.apache.hadoop.util.ToolRunner.run (ToolRunner.java:65) at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.run(HRegionServerCommandLine.java:75) 192.168.0.186: at org.apache.hadoop.util.ToolRunner.run (ToolRunner.java:65) 192.168.0.186: at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java (ToolRunner.java:65) 192.168.0.182: at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java
org.apache.hadoop.io.compress.CompressionOutputStream; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner } public static void main(String[] args) throws Exception{ System.exit( ToolRunner.run org.apache.hadoop.io.compress.CompressionInputStream; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner } public static void main(String[] args) throws Exception{ System.exit( ToolRunner.run
Configuration conf = new Configuration(); 3.5、通过设置命令行参数变量来编程 这里需要借助Hadoop中的一个类Configured、一个接口Tool、ToolRunner (主要用来运行Tool的子类也就是run方法) 分析: 1)我们查看API可以看到ToolRunner中有一个run方法: ? import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner true); return 0; } public static void main(String[] args) throws Exception{ //ToolRunner 中的run方法中需要一个Tool的实现类,和 System.exit( ToolRunner.run( new GetDemo_0011
Configuration conf = new Configuration(); 3.5、通过设置命令行参数变量来编程 这里需要借助Hadoop中的一个类Configured、一个接口Tool、ToolRunner (主要用来运行Tool的子类也就是run方法) 分析: 1)我们查看API可以看到ToolRunner中有一个run方法: ? import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner true); return 0; } public static void main(String[] args) throws Exception{ //ToolRunner 中的run方法中需要一个Tool的实现类,和 System.exit( ToolRunner.run( new GetDemo_0011
0:1; } public static void main(String[] args) throws Exception { ToolRunner.run( 0:1; } public static void main(String[] args) throws Exception { ToolRunner.run( 0:1; } public static void main(String[] args) throws Exception { ToolRunner.run( 0:1; } public static void main(String[] args) throws Exception { ToolRunner.run( 0:1; } public static void main(String[] args) throws Exception { ToolRunner.run(
org.apache.hadoop.mapreduce.lib.output.TextOutputFormat; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner 0:1; } public static void main(String[] args) throws Exception { int run = ToolRunner.run(new MoreFileDriver
Job.java:1308) at org.apache.hadoop.examples.Grep.run(Grep.java:78) at org.apache.hadoop.util.ToolRunner.run (ToolRunner.java:70) at org.apache.hadoop.examples.Grep.main(Grep.java:103) at sun.reflect.NativeMethodAccessorImpl.invoke0 Job.java:1308) at org.apache.hadoop.examples.Grep.run(Grep.java:78) at org.apache.hadoop.util.ToolRunner.run (ToolRunner.java:70) at org.apache.hadoop.examples.Grep.main(Grep.java:103) at sun.reflect.NativeMethodAccessorImpl.invoke0 Job.java:1308) at org.apache.hadoop.examples.Grep.run(Grep.java:78) at org.apache.hadoop.util.ToolRunner.run
0:1; } public static void main(String[] args) throws Exception { System.exit(ToolRunner.run 0:1; } public static void main(String[] args) throws Exception{ System.exit(ToolRunner.run 0:1; } public static void main(String[] args) throws Exception{ System.exit(ToolRunner.run 0:1; } public static void main(String[] args) throws Exception{ System.exit(ToolRunner.run 0:1; } public static void main(String[] args) throws Exception{ System.exit(ToolRunner.run
org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner 0 : 1; } public static void main(String[] args) throws Exception{ int ret = ToolRunner.run
org.apache.hadoop.fs.RawLocalFileSystem; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner } public static void main(String[] args) throws Exception{ System.exit( ToolRunner.run org.apache.hadoop.fs.RawLocalFileSystem; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner return 0; } public static void main(String[] args) throws Exception{ System.exit(ToolRunner.run
org.apache.hadoop.mapreduce.lib.output.TextOutputFormat; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner 0:1; } public static void main(String[] args) throws Exception { int run = ToolRunner.run(new
org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner 0 : 1; } public static void main(String[] args) throws Exception{ int ret = ToolRunner.run
org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner \Desktop\\mr\\mr4"; path[1] = "C:\\Users\\com\\Desktop\\mr\\mr4\\output"; try { int result = ToolRunner.run e.printStackTrace(); } } } 3、运行效果 注意:输入路径path[]放在桌面,每台电脑的用户名不同,桌面路径也有所不同,注意自己的路径 如果需要运行时自定义输入输出路径,int result = ToolRunner.run
org.apache.hadoop.fs.RawLocalFileSystem; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner } public static void main(String[] args) throws Exception{ System.exit( ToolRunner.run org.apache.hadoop.fs.RawLocalFileSystem; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner return 0; } public static void main(String[] args) throws Exception{ System.exit(ToolRunner.run
0:1; } public static void main(String[] args) throws Exception { System.exit(ToolRunner.run 0:1; } public static void main(String[] args) throws Exception{ System.exit(ToolRunner.run 0:1; } public static void main(String[] args) throws Exception{ System.exit(ToolRunner.run 0:1; } public static void main(String[] args) throws Exception{ System.exit(ToolRunner.run 0:1; } public static void main(String[] args) throws Exception{ System.exit(ToolRunner.run