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);}
}
转自:https://www.cnblogs.com/yyy-blog/p/5639218.html
hadoop中setup,cleanup,run和context讲解相关推荐
- Hadoop中Context类的作用和Mapper<LongWritable, Text, Text, LongWritable>.Context context是怎么回事【笔记自用】
问题导读: 1.Context能干什么? 2.你对Context类了解多少? 3.Context在mapreduce中的作用是什么? 下面我们通过来源码,来得到Context的作用: 下面主要对Set ...
- Hadoop中Context类的作用
问题导读: 1.Context能干什么? 2.你对Context类了解多少? 3.Context在mapreduce中的作用是什么? 下面我们通过来源码,来得到Context的作用: 下面主要对Set ...
- 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实现代码 ...
- Hadoop中RPC协议小例子报错java.lang.reflect.UndeclaredThrowableException解决方法
最近在学习传智播客吴超老师的Hadoop视频,里面他在讲解RPC通信原理的过程中给了一个RPC的小例子,但是自己编写的过程中遇到一个小错误,整理如下: log4j:WARN No appenders ...
- 一脸懵逼学习Hadoop中的序列化机制——流量求和统计MapReduce的程序开发案例——流量求和统计排序...
一:序列化概念 序列化(Serialization)是指把结构化对象转化为字节流. 反序列化(Deserialization)是序列化的逆过程.即把字节流转回结构化对象. Java序列化(java.i ...
- Hadoop中关于MapReduce的编程实例(过滤系统日志)
框架 Apache Hadoop:分布式处理架构,结合了 MapReduce(并行处理).YARN(作业调度)和HDFS(分布式文件系统); 一.下载Hadoop相关文件 1.在Hadoop官网上下 ...
- 在hadoop中传递变量
在hadoop中传递变量 @(HADOOP)[hadoop] 在主类中定义的变量,如定义了一个outputname,需要将其写入conf分发至其它nodemanager: Configuration ...
- 考究Hadoop中split的计算方法
Hadoop中block块大小和split切片大小会影响到MapReduce程序在运行过程中的效率.map的个数.在本文中,以经典入门案例WordCount为例,通过debug的方式跟踪源代码,来分析 ...
- Hadoop中RPC机制详解之Server端
2019独角兽企业重金招聘Python工程师标准>>> Hadoop 中 RPC 机制详解之 Client 端 1. Server.Listener RPC Client 端的 RP ...
最新文章
- 【Django】安装及配置
- “2021ISIG中国产业智能大会低代码峰会”即将开幕,钉钉宜搭叶周全受邀出席
- java监听器原理_java监听器原理
- 说说python程序的执行过程_表示说的词语
- Emacs lisp 列表与函数的区别
- centos7解压安装mysql_CentOS7 安装Mysql5.7 解压缩版
- 两条信号之间加电容_电容是什么?怎么用?怎么买?
- 简单实现x的n次方pta_Hydramotion海默生-PTA(对苯二甲酸)在线粘度计
- 渲染进行调用_UE渲染师Dyomin:做次世代手游,可以用好这项技能
- CodeForces 621C 数学概率期望计算
- 2017/07/27 工作日志
- 关于vue 项目页面打包后首次页面加载特别缓慢的原因及解决方案
- webview android 加载网页,关于webview:如何在android中离线加载网页
- SpringMVC和Structs2
- C盘根目录出现msdia80.dll解决办法
- Keep熬过冬天,但互联网健身的生意依然不好做
- 安装MATLAB时报错:提取错误 安装dsp_doc_en_common时检测到以下错误:某安装路径(指定的路径无效)
- circos 可视化手册- heatmap 篇
- 【Linux】C++后台开发面试
- Linux下Apache服务的部署和配置
热门文章
- 架构设计 | 异步处理流程,多种实现模式详解
- SpringCloud微服务(07):Zipkin组件,实现请求链路追踪
- 简单async/wait使用样例
- C语言ASM汇编内嵌语法【转】
- spark 应用程序性能优化经验
- struts2和struts1认识
- 用C#编写一个抓网页的应用程序
- 华为ebgp_BGP选路原则之首选值(华为特性)
- 信息学奥赛一本通 2063:【例1.4】牛吃牧草
- 信息学奥赛一本通 1023:Hello,World!的大小 | OpenJudge NOI 1.2 10