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);}
}

转自:https://www.cnblogs.com/yyy-blog/p/5639218.html

hadoop中setup,cleanup,run和context讲解相关推荐

  1. Hadoop中Context类的作用和Mapper<LongWritable, Text, Text, LongWritable>.Context context是怎么回事【笔记自用】

    问题导读: 1.Context能干什么? 2.你对Context类了解多少? 3.Context在mapreduce中的作用是什么? 下面我们通过来源码,来得到Context的作用: 下面主要对Set ...

  2. Hadoop中Context类的作用

    问题导读: 1.Context能干什么? 2.你对Context类了解多少? 3.Context在mapreduce中的作用是什么? 下面我们通过来源码,来得到Context的作用: 下面主要对Set ...

  3. Hadoop中的MapReduce框架原理、数据清洗(ETL)、MapReduce开发总结、常见错误及解决方案

    文章目录 13.MapReduce框架原理 13.7 数据清洗(ETL) 13.7.1 需求 13.7.1.1 输入数据 13.7.1.2 期望输出数据 13.7.2 需求分析 13.7.3实现代码 ...

  4. Hadoop中RPC协议小例子报错java.lang.reflect.UndeclaredThrowableException解决方法

    最近在学习传智播客吴超老师的Hadoop视频,里面他在讲解RPC通信原理的过程中给了一个RPC的小例子,但是自己编写的过程中遇到一个小错误,整理如下: log4j:WARN No appenders ...

  5. 一脸懵逼学习Hadoop中的序列化机制——流量求和统计MapReduce的程序开发案例——流量求和统计排序...

    一:序列化概念 序列化(Serialization)是指把结构化对象转化为字节流. 反序列化(Deserialization)是序列化的逆过程.即把字节流转回结构化对象. Java序列化(java.i ...

  6. Hadoop中关于MapReduce的编程实例(过滤系统日志)

    框架 Apache Hadoop:分布式处理架构,结合了 MapReduce(并行处理).YARN(作业调度)和HDFS(分布式文件系统);  一.下载Hadoop相关文件 1.在Hadoop官网上下 ...

  7. 在hadoop中传递变量

    在hadoop中传递变量 @(HADOOP)[hadoop] 在主类中定义的变量,如定义了一个outputname,需要将其写入conf分发至其它nodemanager: Configuration ...

  8. 考究Hadoop中split的计算方法

    Hadoop中block块大小和split切片大小会影响到MapReduce程序在运行过程中的效率.map的个数.在本文中,以经典入门案例WordCount为例,通过debug的方式跟踪源代码,来分析 ...

  9. Hadoop中RPC机制详解之Server端

    2019独角兽企业重金招聘Python工程师标准>>> Hadoop 中 RPC 机制详解之 Client 端 1. Server.Listener RPC Client 端的 RP ...

最新文章

  1. 【Django】安装及配置
  2. “2021ISIG中国产业智能大会低代码峰会”即将开幕,钉钉宜搭叶周全受邀出席
  3. java监听器原理_java监听器原理
  4. 说说python程序的执行过程_表示说的词语
  5. Emacs lisp 列表与函数的区别
  6. centos7解压安装mysql_CentOS7 安装Mysql5.7 解压缩版
  7. 两条信号之间加电容_电容是什么?怎么用?怎么买?
  8. 简单实现x的n次方pta_Hydramotion海默生-PTA(对苯二甲酸)在线粘度计
  9. 渲染进行调用_UE渲染师Dyomin:做次世代手游,可以用好这项技能
  10. CodeForces 621C 数学概率期望计算
  11. 2017/07/27 工作日志
  12. 关于vue 项目页面打包后首次页面加载特别缓慢的原因及解决方案
  13. webview android 加载网页,关于webview:如何在android中离线加载网页
  14. SpringMVC和Structs2
  15. C盘根目录出现msdia80.dll解决办法
  16. Keep熬过冬天,但互联网健身的生意依然不好做
  17. 安装MATLAB时报错:提取错误 安装dsp_doc_en_common时检测到以下错误:某安装路径(指定的路径无效)
  18. circos 可视化手册- heatmap 篇
  19. 【Linux】C++后台开发面试
  20. Linux下Apache服务的部署和配置

热门文章

  1. 架构设计 | 异步处理流程,多种实现模式详解
  2. SpringCloud微服务(07):Zipkin组件,实现请求链路追踪
  3. 简单async/wait使用样例
  4. C语言ASM汇编内嵌语法【转】
  5. spark 应用程序性能优化经验
  6. struts2和struts1认识
  7. 用C#编写一个抓网页的应用程序
  8. 华为ebgp_BGP选路原则之首选值(华为特性)
  9. 信息学奥赛一本通 2063:【例1.4】牛吃牧草
  10. 信息学奥赛一本通 1023:Hello,World!的大小 | OpenJudge NOI 1.2 10