日报第1天---20210630

概念的内容

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这些,所以就以类名来直接运行了。

近期目标:还是需要先快速把大数据弄会,因为软件方向的售前岗位少而且工资不高,还是需要先把大数据多练习一些项目再转。不管怎么样都得会技术,而且需要学好热门方向的技术。所以最近一个月是争取把大数据的内容过完,然后不管研发还是售前岗位都可以面试。

原文地址:https://www.cnblogs.com/gen2122/p/14956670.html