前言
学习大数据框架通常都是从wordcount案例开始的,也是学习框架的基础,wordcount虽然简单,如果能彻底搞清楚其运行原理,对后续深入学习和掌握MapReduce非常有帮助的,本篇以一个wordcount为例,通过代码演示下wordcount的编码过程
环境准备
- windows下hadoop的配置环境,需要在windows环境下配置一下环境变量
- linux下的hdfs运行环境
- 一个单词统计的文本文件,文件内容格式如下
关羽 关羽
赵云
刘备 刘备
黄盖
张飞
马超
魏延
通过WordCount程序,我们期望最终的输出结果格式为:
关羽 2
赵云 1
刘备 2
…
编码步骤
MapReduce的编码风格比较套路化,一般来说,最简单的WordCount只需要3个类即可,一个继承Mapper类的自定义Map类,一个继承Reducer类的自定义Reduce类,以及一个将这两个类聚合在一起并执行job的driver类即可
很多学习MapReduce的同学比较头疼和容易犯迷糊的地方是自定义的Map 和 Reduce类里面的参数,以及Map 和 Reduce 类中的重写方法的代码执