Word Count Example of Hadoop V1.0 – Mapper的实现
本文继续来看Mapper的实现。
Mapper
01 public static class Map 02 extends Mapper<LongWritable, Text, Text, IntWritable> { 03 private final static IntWritable one = new IntWritable(1); 04 private Text word = new Text(); 05 06 public void map(LongWritable key, Text value, Context context) 07 throws IOException, InterruptedException { 08 String line = value.toString(); 09 StringTokenizer tokenizer = new StringTokenizer(line); 10 while (tokenizer.hasMoreTokens()) { 11 word.set(tokenizer.nextToken()); 12 context.write(word, one); 13 } 14 } 15 }
我们实现了Driver中指定的Map.class,这个类继承自Mapper<LongWritable, Text, Text, IntWritable>,其中四个类型以此是input的key和value,和Mapper输出的Key和Value。
03 private final static IntWritable one = new IntWritable(1); 04 private Text word = new Text();
这两行是定义mapper的输出,看类型就能看出来,Text是mapper输出的key,IntWritable是mapper输出的value。
06 public void map(LongWritable key, Text value, Context context)
继承Mapper就要实现map函数,LongWritable和Text即mapper的输入,Context是mapper和Hadoop系统交互的工具。它可以存储配置数据,还能输出key-value。
getConfiguration()方法返回一个Configuration,里面包含了Hadoop Job的配置数据。程序员可以在配置数据里加入任意的key-value对(例如:Job.getConfiguration().set(“Key”, “Value”)),当然,也可以把它读出来(Context.getConfiguration().get(“Key”))。这种功能一般会在Mapper的setup()方法里面实现。
map(KeyInType, ValInType, Context)是由Mapper.run()方法调用的。map方法处理数据后,通过Context.write(KeyOutType, ValOutType)方法输出。
在mapper结束后,应用程序可以通过重载Mapper的cleanup()方法来做一些需要的收尾工作。
Mapper的输出对的类型不需要和输入对的类型一致,而且给定一个输入对,可以对应于0个或多个输出对。
Context的另一个作用是report progress,可以像Hadoop Job发送任何应用层的状态信息,或者只是告诉别人自己还活着。
Word Count Example of Hadoop V1.0 – Mapper的实现相关推荐
- PbootCMS独立插件系列之Word+Excel导入完全免费版V1.0
原文链接+视频演示:PbootCMS独立插件系列之Word+Excel导入完全免费版V1.0 完全独立控制器,不影响官方后续更新,免费插件,允许随意传播分享,但禁止用来谋取不正当利益,当然,君子易处, ...
- 仙境传说 v1.0 绿色
Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...
- print (“{0:<10}{1:>5}“.format(word, count))
print ("{0:<10}{1:>5}".format(word, count)) 这个是format方法bai的格式控制.在duPython二级教程第三章< ...
- mysql数据库结构导出word_Windows导出MySQL数据库表结构到Word文档-DBExportDoc V1.0 For MySQL...
必要条件: 1.Microsoft Office Word(我用WPS不行) 2.mysql-connector-odbc 3.会看文档 下载地址:关注微信公众号:八四七,回复5获取,压缩包中包含有具 ...
- android时钟字体,抖音文字云时钟app-抖音文字云时钟安卓版(word clock)v1.0下载
抖音文字云时钟app是一款异常火爆的数字时钟软件,该软件在抖音上已经被众多小伙伴种草了,它拥有非常炫酷的背景,设置安装起来也非常简便,可以自定义多个模块,支持多种语音,感兴趣的小伙伴千万不要错过哦! ...
- Hadoop MapReduce测试word count功能
在hadoop的mapreduce目录下自带有一个hadoop-mapreduce-examples-2.7.5.jar(官方已经为我们写好了用java实现word count的jar)可以用来测试w ...
- MapReduce之Word Count案例代码实现
准备用于计算word count的数据文件 [root@hadoop01 test_data]# pwd /usr/local/wyh/test_data [root@hadoop01 test_da ...
- Hadoop 2.0.0-alpha尝鲜安装和hello world
仅供测试学习的文章,不推荐在生产环境使用2.0,因为2.0采用YARN,hive,hbase,mahout等需要map/reduceV1的可能无法使用hadoop 2.0或者会出现意外情况. 5月23 ...
- 通过简单的Word Count讲解MapReduce原理以及Java实现
MapReduce原理: MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果 ...
最新文章
- awk截取字符命令_Linux运维基础技能: 脚本编程与Linux命令
- Lintcode27-Reverse 3-digit Integer
- python读取大文件-强悍的Python读取大文件的解决方案
- 简朴的生活、高贵的灵魂是人生的至高境界。——杨绛
- php 实现一致性哈希,PHP一致性哈希实现。。
- C#的二维码生成和解析
- robotframework--登录接口,post传递多个参数、及获取content中指定属性的值(5)
- IOS开发比较实用的框架总结(上)
- eclipse汉化(傻瓜式)
- apple/ios 获取udid
- 数据的类型:分类数据、顺序数据、数值型数据
- 【Web】1326- 深入浅出 Web Audio API
- python 根号化简_Python 基础
- Ntrip通讯协议1.0
- 复习对数函数相关知识
- 千牛文件已上传服务器,千牛怎样挂在云服务器上
- FLIR推出首款非制冷型甲烷气体检测热像仪
- oracle删除表结构或者表数据
- matlab做圆柱凸轮,圆柱凸轮的建模
- 环信即时通讯sdk使用时遇到的问题及解决
热门文章
- 蓝桥杯 ADV-227 算法提高 11-1实现strcmp函数
- [Python] L1-004. 计算摄氏温度-PAT团体程序设计天梯赛GPLT
- 怎么让Excel按某一列的数值来排序?
- Mysql5.6.23免安装配置
- Centos 7.4版本升级内核3.10+ 到4+过程
- Template parse errors: The pipe 'translate' could not be found
- SHELL 003 -- ss命令常用方法
- JAVA中的观察者模式observer
- ubuntu下Pure-FTPd的安装和配置
- Microsoft Office Communications Server 2007 R2 RTM 简体中文企业版部署速成篇之一