hadoop开发必读:认识Context类的作用
问题导读:
1.Context能干什么?
2.你对Context类了解多少?
3.Context在mapreduce中的作用是什么?
本文实在能够阅读源码的基础上一个继续,如果你还不能阅读源码,请参考
从零教你如何获取hadoop2.4源码并使用eclipse关联hadoop2.4源码
http://www.aboutyun.com/thread-8211-1-1.html
如何通过eclipse查看、阅读hadoop2.4源码
http://www.aboutyun.com/thread-8225-1-1.html
下面我们通过来源码,来得到Context的作用:
下面为run方法
- /**
- * Expert users can override this method for more complete control over the
- * execution of the Mapper.
- * @param context
- * @throws IOException
- */
- public void run(Context context) throws IOException, InterruptedException {
- setup(context);
- try {
- while (context.nextKeyValue()) {
- map(context.getCurrentKey(), context.getCurrentValue(), context);
- }
- } finally {
- cleanup(context);
- }
- }
从上面run方法可以看出,K/V对是从传入的Context获取的。我们也可以从下面的map方法看出,输出结果K/V对也是通过Context来完成的。
原来它是mapper的一个内部类,简单的说顶级接口是为了在map或是reduce任务中跟踪task的状态,很自然的MapContext就是记录了map执行的上下文,在mapper类中,这个context可以存储一些job conf的信息,比如习题一中的运行时参数等,我们可以在map函数中处理这个信息,这也是hadoop中参数传递中一个很经典的例子,同时 context 作为了map和reduce执行中各个函数的一个桥梁,这个设计和java web中的session对象、application对象很相似。
hadoop开发必读:认识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 ...
- java中math类的作用_Java开发知识之Java的数字处理类Math类
Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...
- Java开发必读--初识微服务一定要阅读这篇文章
原文转自一线互联网资深架构师,微服务布道师小马哥的原创文章,始发与小马哥公众号. 微服务是什么? 微服务是一种细粒度(Fine-Grain)的SOA 或许在座的高朋了解过其概念.个人认为,与其说微服务 ...
- Hadoop完全分布式搭建过程、maven和eclipse配置hadoop开发环境、配置Map/Reduce Locations、简单wordcount测试!
Hadoop完全分布式搭建及测试 项目开始前准备工作 1.下载并安装VM workstation pro 15安装包,这里选择: VMware-workstation-full-15.1.0-1359 ...
- Hadoop源码分析-Context
学编程第一个肯定是hello world,Hadoop也不例外,它的hello world就是Wordcount,单词统计例子 1 package org.apache.hadoop.examples ...
- [原创] 毕设---在myeclipes中安装Hadoop开发插件
1.安装Hadoop开发插件 hadoop安装包contrib/目录下有个插件hadoop-0.20.2-eclipse-plugin.jar,拷贝到myeclipse根目录下/dropins目录下. ...
- 配置HADOOP开发环境
考虑到Windows平台尽管界面友好,但Hadoop环境配置较"怪异",需借助cygwin,这个过程并不优雅.正好我手上另有一套ubuntu环境,用着也很顺手,就在ubuntu中安 ...
- python抽象基类的作用_Python:多态、鸭子模型和抽象基类
1. 多态 什么是多态 -- 多态,指的是一种事务具有多种形态: -- python是一种动态语言,默认支持多态,同一个方法 调用 不同的类对象 ,执行的 结果各不相同: 多态实现 -- 继承:不同子 ...
最新文章
- Android TabHost中切換、修改需要显示的Activity
- PHP对表单提交特殊字符的过滤和处理
- Vue项目中的初始化
- 如何用spring boot写一个注册页面
- [转载] Java中this和super关键字分别是什么意思
- 马上就要到了的即时通讯
- 查看vnc端口_如何在 Centos 8 / RHEL 8 上安装和配置 VNC 服务器
- java实验类与对象_【实验课件】上机实践2 类与对象
- 深度学习工作笔记003---数据预处理:独热编码(One-Hot Encoding)
- RocketMQ Message hasn‘t been sent. Caused by No route info of this topic, Pr
- oracle显示更新条数的函数,ORACLE学习笔记-添加更新数据函数篇
- Hash函数加密算法(一)
- 将文件夹内的所有文件重命名(从1开始发番)
- TomCat8080/8081端口占用问题!如何解决
- 计算机硬盘图标怎么更改,硬盘图标怎么改 更改本地磁盘图标方法
- 怎样才能无需训练也能成为武林高手
- 【转】图像视觉开源代码
- Comparable
- Qt使用QMediaplayer实现视频播放和简易音乐播放
- 学会这些句子,你还愁英语单词吗
热门文章
- 【Android 逆向】IDA 安装 ( 使用 IDA 分析 so 动态库 )
- 【Java 虚拟机原理】Class 字节码二进制文件分析 六 ( 属性类型 | Code 属性 | 属性名称索引 | 属性长度 | 操作数栈最大深度 | 局部变量存储空间 | 字节码长度 )
- 【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA ) ★★
- 【Android 应用开发】Google 官方 EasyPermissions 权限申请库 ( 简介 | 权限申请处理细节 | 添加依赖 | 界面权限申请结果处理 | 权限申请结果回调接口 )
- 【Android 应用开发】 ActionBar 基础
- spring第一个小例子(Spring_xjs1)
- 51NOD 1001 数组中和等于K的数对
- Linux目录与文件常见处理命令
- Joseph cicyle's algorithm
- 【代码片段】base样式--针对bootstrap