概念的内容
MapReduce概念:是一个分布式的计算框架,目的是只需要按照单机的方式编写分布式程序就可以。
优缺点:缺点是慢,不能像数据库一样实时交互。优点是占用内存少,节省资源。
练习的内容:
1.写了一个WordCount程序,代码量大概20行。
主要分为几步
A.创建maven项目,pom.xml里写好依赖,导入log4j.xml文件。
B.创建Mapper,Reducer,Driver三部分(Driver作用是串联,具体的看代码)
Mapper的工作逻辑:他有初始化方法和结束方法,初始化方法将数据拆成一行一行输入进来,每一行数据调用一次map方法,映射成你需要的KV数据。
Reducer的工作逻辑:对分布式机器提交的KV数据进行汇总,得出最后结果。
2.分别在linux集群和windows环境下运行,linux已经运行完,windows运行还有报错。7月1日解决。
解决的问题:
1.Maven无法下载依赖
解决:点开界面右侧maven,刷新载入项目就重新下载了。
2.Maven下载依赖报错
经验:关于这些依赖一直下载不下来报错,基本就是写错了,虽然肉眼看不出来,直接把官方的依赖复制上去了,就好了。虽然还有一个小依赖解析不出来,有红叉,但是不影响打包。
3.hadoop jar运行过程报错。
包打出来目录结构就没有com.atguigu.wordcount这些,所以就以类名来直接运行了。
近期目标:还是需要先快速把大数据弄会,因为软件方向的售前岗位少而且工资不高,还是需要先把大数据多练习一些项目再转。不管怎么样都得会技术,而且需要学好热门方向的技术。所以最近一个月是争取把大数据的内容过完,然后不管研发还是售前岗位都可以面试。