(5-3)Mapper源码分析
来源:互联网 发布:不同数据类型运算vb中 编辑:程序博客网 时间:2024/06/07 06:48
//一个4个方法:setup()、map()、cleanup()、run()。
//setup()在map任务之前执行,clean()在map任务之后执行,run()方法控制这些函数执行,run()方法由框架调用。
//代码中给出了一个map()实例。
package org.apache.hadoop.mapreduce; * <p>Example:</p> * <p><blockquote><pre> * public class TokenCounterMapper * extends Mapper<Object, Text, Text, IntWritable>{ * * private final static IntWritable one = new IntWritable(1); * private Text word = new Text(); * * public void map(Object key, Text value, Context context) throws IOException, InterruptedException { * StringTokenizer itr = new StringTokenizer(value.toString()); * while (itr.hasMoreTokens()) { * word.set(itr.nextToken()); * context.write(word, one); * } * } * }@InterfaceAudience.Public@InterfaceStability.Stablepublic class Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { public abstract class Context implements MapContext<KEYIN,VALUEIN,KEYOUT,VALUEOUT> { } protected void setup(Context context ) throws IOException, InterruptedException { // NOTHING } @SuppressWarnings("unchecked") protected void map(KEYIN key, VALUEIN value, Context context) throws IOException, InterruptedException { context.write((KEYOUT) key, (VALUEOUT) value); } protected void cleanup(Context context ) throws IOException, InterruptedException { // NOTHING } public void run(Context context) throws IOException, InterruptedException { setup(context); try { while (context.nextKeyValue()) { map(context.getCurrentKey(), context.getCurrentValue(), context); } } finally { cleanup(context); } }}
0 0
- (5-3)Mapper源码分析
- easy-mapper 源码分析
- Mybatis源码分析获取Mapper
- MapReudce源码分析之Mapper
- Tomcat源码阅读之Mapper分析
- Hadoop中Mapper过程的源码分析
- Tomcat源码分析--资源映射器Mapper
- mybatis源码分析之Mapper代理实现分析
- mybatis源码学习之执行过程分析(3)——mapper接口的获取
- Mybatis3源码分析(三):解析mapper的xml配置文件
- MapReduce框架Mapper和Reducer类源码分析
- Mybatis3源码分析(三):解析mapper的xml配置文件
- Mybatis3源码分析(19)-Mapper生成过程-示例
- Mybatis3源码分析(20)-Mapper实现-配置加载
- Mybatis3源码分析(21)-Mapper实现-动态代理
- Mybatis3源码分析(21)-Mapper实现-动态代理
- 【Tomcat9源码分析】Mapper路由映射器的设计
- Mybatis源码分析(一)--Mapper的动态代理
- Two pointers技巧的应用
- iOS 打电话 & 发短信 & 发邮件
- Eclipse IDE 使用技巧
- NGUI控件说明(中文) UIPlayAnimation
- C/C++中static,const,inline三种关键字详细总结
- (5-3)Mapper源码分析
- Activity生命周期和其中另外线程的关系
- NGUI控件说明(中文) UIPopupList
- ServiceController操作Windows服务
- cocos2dx 字体文件、cocos2dx的ttf字体显示
- css消除a标签点击后的虚线框
- NGUI控件说明(中文) UISlider
- 分类详解
- HDU 1539 Shredding Company