[Hadoop源码解读](三)MapReduce篇之Job类

本文主要解析MapReduce 1中的Job类,探讨在创建Job对象时如何设置配置,如JobName、输入输出路径、Mapper和Reducer。Job对象经历DEFINE和RUNNING两个状态,DEFINE状态用于配置,RUNNING状态则用于跟踪作业进度。通过submit()提交作业,waitForCompletion()等待作业完成。计数器用于收集作业统计信息,包括内置和自定义计数器,它们在全球范围内同步。
摘要由CSDN通过智能技术生成

  下面,我们只涉及MapReduce 1,而不涉及YARN。



                                          

  当我们在写MapReduce程序的时候,通常,在main函数里,我们会像下面这样做。建立一个Job对象,设置它的JobName,然后配置输入输出路径,设置我们的Mapper类和Reducer类,设置InputFormat和正确的输出类型等等。然后我们会使用job.waitForCompletion()提交到JobTracker,等待job运行并返回,这就是一般的Job设置过程。JobTracker会初始化这个Job,获取输入分片,然后将一个一个的task任务分配给TaskTrackers执行。TaskTracker获取task是通过心跳的返回值得到的,然后TaskTracker就会为收到的task启动一个JVM来运行。

  

        Configuration conf = getConf();  
        Job job = new Job(conf, "SelectGradeDriver");  
        job.setJarByClass(SelectGradeDriver.class);   
          
        Path in = new Path(args[0]);  
        Path out = new Path(args[1]);  
          
        FileInputFormat.se
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值