关于Tool接口--------hadoop接口:extends Configured implements Tool 和 ToolRunner.run

简介:

  我们在写Hadoop--map/reduce程序时,遇到使用按文件url来分析文件----------多表连接的DistributedCache方式,看不懂使用extends Configured implements Tool的方式,就查了一下http://hadoop.apache.org      上面对该Tool接口及其使用做了说明:

 

 

  1. @InterfaceAudience.Public  
  2. @InterfaceStability.Stable  
  3. public interface Tool       //Tool接口继承了Configurable  
  4. extends Configurable  
  5. //Tool接口可以支持处理通用的命令行选项,它是所有Map-Reduce程序的都可用的一个标准接口,下面是一个典型用例:  
  6.   
  7.          public class MyApp extends Configured implements Tool {  
  8.            
  9.            public int run(String[] args) throws Exception {  
  10.              //ToolRunner要处理的Configuration,Tool通过ToolRunner调用ToolRunner.run时,传入参数Configuration  
  11.              Configuration conf = getConf();  
  12.                
  13.              JobConf job = new JobConf(conf, MyApp.class);  
  14.                
  15.              Path in = new Path(args[1]);  
  16.              Path out = new Path(args[2]);  
  17.                
  18.              // 设置job的各种详细参数      
  19.              job.setJobName("my-app");  
  20.              job.setInputPath(in);  
  21.              job.setOutputPath(out);  
  22.              job.setMapperClass(MyMapper.class);  
  23.              job.setReducerClass(MyReducer.class);  
  24.   
  25.              //提交job  
  26.              JobClient.runJob(job);  
  27.              return 0;  
  28.            }  
  29.              
  30.            public static void main(String[] args) throws Exception {  
  31.              // 让ToolRunner执行   
  32.              int res = ToolRunner.run(new Configuration(), new MyApp(), args);  
  33.                
  34.              System.exit(res);  
  35.            }  
  36.          }  

 

 

 


本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/6431833.html,如需转载请自行联系原作者

相关文章
|
存储 分布式计算 自然语言处理
Hadoop序列化、概述、自定义bean对象实现序列化接口(Writable)、序列化案例实操、编写流量统计的Bean对象、编写Mapper类、编写Reducer类、编写Driver驱动类
Hadoop序列化、概述、自定义bean对象实现序列化接口(Writable)、序列化案例实操、编写流量统计的Bean对象、编写Mapper类、编写Reducer类、编写Driver驱动类
Hadoop序列化、概述、自定义bean对象实现序列化接口(Writable)、序列化案例实操、编写流量统计的Bean对象、编写Mapper类、编写Reducer类、编写Driver驱动类
|
分布式计算 算法 Hadoop
|
存储 分布式计算 Hadoop
|
7天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
24 2
|
7天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。

相关实验场景

更多