`
linest
  • 浏览: 155522 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古
社区版块
存档分类
最新评论

ToolRunner机制

 
阅读更多
定义框架接口
由具体实现类实现
public interface Tool extends Configurable {
  int run(String [] args) throws Exception;
}



ToolRunner
同一的入口调用
按配置解析参数,调用接口方法
  public static int run(Configuration conf, Tool tool, String[] args) 
    throws Exception{
    if(conf == null) {
      conf = new Configuration();
    }
    GenericOptionsParser parser = new GenericOptionsParser(conf, args);
    //set the configuration back, so that Tool can configure itself
    tool.setConf(conf);
    
    //get the args w/o generic hadoop args
    String[] toolArgs = parser.getRemainingArgs();
    return tool.run(toolArgs);
  }


Mahout 中具体调用示例
  public static void main(String[] args) throws Exception {
    ToolRunner.run(new Configuration(), new MinHashDriver(), args);
  }


覆盖方法,提取参数,调用核心方法
  @Override
  public int run(String[] args) throws IOException, ClassNotFoundException, InterruptedException {
    addInputOption();
    addOutputOption();
    //...........
    runJob(input,
           output,
           minClusterSize,
           minVectorSize,
           hashType,
           numHashFunctions,
           keyGroups,
           numReduceTasks,
           debugOutput);
    return 0;
  }


核心方法,配置job,开始map reduce任务
  private void runJob(Path input, 
                      Path output,
                      int minClusterSize,
                      int minVectorSize, 
                      String hashType, 
                      int numHashFunctions, 
                      int keyGroups,
                      int numReduceTasks, 
                      boolean debugOutput) throws IOException, ClassNotFoundException, InterruptedException {
    Configuration conf = getConf();

    //配置参数设置........................    
    Job job = new Job(conf, "MinHash Clustering");
    job.setJarByClass(MinHashDriver.class);

    //Job参数设置.........................
    job.waitForCompletion(true);
  }



  • 大小: 43.8 KB
分享到:
评论

相关推荐

    hadoop组件程序包.zip

    HDFS的设计目标是处理PB级别的数据,通过副本机制确保数据的可靠性。 2. MapReduce:Hadoop的并行计算模型,主要负责数据的处理。Map阶段将大任务拆分成小任务,Reduce阶段则将处理结果进行聚合,实现分布式计算。 ...

    MR应用程序模板

    用户可以从中学习到如何处理大数据,理解Map和Reduce的运作机制,并掌握使用Hadoop提交和管理MapReduce作业的基本技能。这对于想深入理解大数据处理和Hadoop生态系统的人来说是非常有价值的资源。

    精品课程推荐 大数据与云计算教程课件 优质大数据课程 13.深入MapReduce应用开发(共21页).pptx

    GenericOptionsParser处理通用的Hadoop命令行选项,而Tool接口和ToolRunner则提供了更加便捷的应用程序运行机制。Configured类作为Configurable接口的实现,常用于打印和获取配置信息。 此外,课程还涉及了Hadoop的...

    Hadoop大数据实训,求最高温度最低温度实验报告

    5. **ToolRunner和Eclipse提交任务**:`ToolRunner`是Hadoop提供的一个工具,允许我们通过命令行参数轻松地启动MapReduce作业。在Eclipse这样的开发环境中,我们可以编写一个主类,该类继承自`Tool`接口,然后通过`...

    Sqoop通过Phoenix导hbase数据到hive

    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234) at org.apache.sqoop.Sqoop.runTool...

    java-json.7z

    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234) at org.apache.sqoop.Sqoop.runTool...

    可以在本地提交任务的MagicRunner

    "ToolRunner"是Hadoop自带的一个工具,它允许用户通过命令行执行自定义的MapReduce程序。"MagicRunner"则是我们讨论的主题,它是一个与Eclipse集成的工具,使得在本地运行Hadoop任务变得简单。 【压缩包子文件的...

    MapReduceV2笔记

    MapReduce框架中的对象如ToolRunner类、Configured类、Job类、Mapper类和Reducer类等,是编写MapReduce程序的基础。用户可以通过这些对象实现自定义的MapReduce程序逻辑。 为了保证MapReduce程序的正确性和稳定性,...

    hadoop MapReduce编程教程

    ### hadoop MapReduce编程教程知识点概述 ...- WordCount实例不仅是一个入门级的示例,而且对于理解MapReduce的工作机制非常有帮助。通过深入学习和实践,可以掌握MapReduce的强大功能,从而更好地应对大数据处理挑战。

    基于MapReduce的基于用户的协同过滤算法代码及其使用

    具体来说,它通过`ToolRunner.run()`方法依次启动了6个不同的MapReduce任务,每个任务对应一个具体的实现类(例如`UserCF1`、`UserCF2`等)。 ```java public static void main(String[] args) throws Exception { ...

    Hadoop权威指南 第二版(中文版)

     辅助类GenericOptionsParser,Tool和ToolRunner  编写单元测试  mapper  reducer  本地运行测试数据  在本地作业运行器上运行作业  测试驱动程序  在集群上运行  打包  启动作业  MapReduce的Web界面  ...

    Hadoop实训求最高温度和最低温度的数据集

    (1)统计全球每年的最高气温和最低气温。 (2)MapReduce输出结果包含年份、最高气温、最低气温,并按最高气温降序排序。如果最高气温相同,则按最低气温升序排序...(5)应用ToolRunner的使用和Eclipse提交MapReduce任务。

    Hadoop权威指南(中文版)2015上传.rar

    辅助类GenericOptionsParser,Tool和ToolRunner 编写单元测试 mapper reducer 本地运行测试数据 在本地作业运行器上运行作业 测试驱动程序 在集群上运行 打包 启动作业 MapReduce的Web界面 获取结果 作业调试 使用...

    word源码java-rubydoop:用JRuby编写Hadoop作业

    的ToolRunner更好用的配置 DSL。 正在寻找 Rubydoop,Brenden Grace 的“用于 Hadoop 流的简单 Ruby Sugar”? 它仍然可以在以下位置找到,如果您从 Rubygems 安装 v0.0.5,您将获得那个 gem。 Rubydoop 假设您有...

    Java代码统计网站中不同省份用户的访问数

    - `run()`方法设置输入和输出路径,配置作业,并调用`ToolRunner.run()`来启动作业。 **三、Hadoop MapReduce流程** 1. **Map阶段**:Hadoop将日志文件分割成多个块,并在集群的不同节点上并行运行`Mapper`实例。...

    大数据实验报告Hadoop编程实现wordcount单词统计程序附源码.doc

    System.exit(ToolRunner.run(job, args)); } } ``` 本实验报告介绍了使用 Hadoop 编程实现 wordcount 单词统计程序的步骤和代码实现。实验的目的在于熟悉 Hadoop 虚拟机的安装与环境的配置,初步理解 MapReduce ...

    Hadoop的MapReduce中多文件输出.pdf

    Hadoop中的多文件输出 Hadoop 的 MapReduce 框架中... System.exit(ToolRunner.run(new WordCount(), args)); } } ``` 通过这种方式,我们可以在 MapReduce 任务中输出多份文件,每个文件的名称可以根据需要自定义。

    linux下maven在eclipse安装测试Hadoop.pdf

    import org.apache.hadoop.util.ToolRunner; public class WordCount extends Configured implements Tool { // ... mapper and reducer code here ... } ``` 最后,你需要将数据文件放入HDFS的`in`目录,并运行...

Global site tag (gtag.js) - Google Analytics