zoukankan      html  css  js  c++  java
  • hadoop中setup,cleanup,run和context讲解

    hadoop 执行中的setup run cleanup context的作用
    1.简介
    1) setup(),此方法被MapReduce框架仅且执行一次,在执行Map任务前,进行相关变量或者资源的集中初始化工作。若是将资源初始化工作放在方法map()中,导致Mapper任务在解析每一行输入时都会进行资源初始化工作,导致重复,程序运行效率不高!
    2) Mapper或Reducer运行
    3) cleanup(),此方法被MapReduce框架仅且执行一次,在执行完毕Map任务后,进行相关变量或资源的释放工作。若是将释放资源工作放入方法map()中,也会导致Mapper任务在解析、处理每一行文本后释放资源,而且在下一行文本解析前还要重复初始化,导致反复重复,程序运行效率不高!
    4) run 程序启动运行
    5) Context 是MapReduce任务运行的一个上下文,包含了整个任务的全部信息
    context作为了map和reduce执行中各个函数的一个桥梁,这个设计和java web中的session对象、application对象很相似
    注:建议资源初始化及释放工作,分别放入方法setup()和cleanup()中进行
    2.执行顺序
    setup---->Mapper或Reducer----->cleanup
    |                                                 |
         run
    解:Setup一般是在执行map函数前做一些准备工作,map是主要的数据处理函数,
    cleanup则是在map执行完成后做一些清理工作和finally字句的作用很像,
    下面看一下run方法
    public void run(Context context) throws IOException, InterruptedException {
         setup(context);
         while(context.nextKeyValue()) {
                map(context.getCurrentKey(),context.getCurrentValue(),context);
          }
          cleanup(context);
        }
    }

    我不生产知识 我只是知识的搬运工
  • 相关阅读:
    内存问题再次注意
    数据分析(基础/数组)
    总结
    scrapy框架
    selenium
    chromedriver设置无界面模式 selenium基础操作
    selenium+phantomjs/Chrome/Firefox
    json解析模块
    cookie模拟登录
    常用正则
  • 原文地址:https://www.cnblogs.com/yyy-blog/p/5639218.html
Copyright © 2011-2022 走看看