第五周 第二章 实战 WordCount
WordCount案例图解
1 |
|
WordCount案例开发
1 | 前面我们通过理论层面详细分析了单词计数的执行流程,下面我们就来实际上手操作一下。 |
源码
1 | package com.imooc.mc; |
1 | 现在代码开发完毕了,现在我们是把自定义的mapper类和reducer类都放到了这个WordCountJob类中,主要是为了在学习阶段看起来清晰一些,所有的代码都在一个类中,好找,其实我们完全可以把自定义的mapper类和reducer类单独提出去,定义为单独的类,是没有什么区别的。 |
pom文件
1 | ok,那代码开发好了以后想要执行,我们需要打jar包上传到集群上去执行,这个时候需要在pom文件中 |
1 | <build> |
1 | 注意了,这些添加完以后还有一个地方需要修改,需要在pom中的hadoop-client和log4j依赖中增加 |
1 | 完整的pom文件 |
打jar包
1 | 添加好了以后就可以打包了,建议在windows的cmd命令行下cd到项目根目录,然后执行mvn编译打包 |
1 | 命令执行成功之后,就可以到target目录下获取对应的jar包了,需要使用jar-with-dependencies结尾的那个jar包。 |
向集群提交MapReduce任务
1 | 在此之前需要做: |
1 | hadoop jar bigdata_hadoop-1.0-SNAPSHOT-jar-with-dependencies.jar com.imooc.mc.WordCountJob /test/WordCount /test/WordCount/outcome |
1 | hadoop:表示使用hadoop脚本提交任务,其实在这里使用yarn脚本也是可以的,从hadoop2开始支持使用yarn,不过也兼容hadoop1,也继续支持使用hadoop脚本,所以在这里使用哪个都可以, |
1 | 输出目录中,_SUCCESS是一个标记文件,有这个文件表示这个任务执行成功了。 |
1
1 | 可以在bigdata:8088里看一些此次提交任务的相关信息 |


