罗嗦两句

我是个干Java的,公司安排进行大数据培训(其实跟自学也差不多)其实我也挺感谢这次机会,一个程序员不应该被语言所束缚。

来之前,我也曾经自学过一些关于大数据的知识,当时是为了面试,问的时候不至于一脸懵,最后也做了一个项目出来,是一个监控网站pv,uv等数值的一个程序。但这个项目急于求成,基础不牢,其实也没有学到什么。所以学习不能讲究快,它是一种积累。我们应当知其然,更知其所以然。

我的Java可是实打实学了两年(从大学开始算),也只是达到了找工作的水平。这次给两个月的时间,说实话,只想着可以入门就可以了。于是怎么去学,如何利用好两个月的时间成了我一个最大的苦恼,我也曾经问过我的导师,也曾网上找过资料,收益甚微。除了理论还有自己动手实操,记笔记,知识复盘等等,俩月真的学不了太多。所以如何在有限的时间让我的学习收益达到最大。这才是我需要做的事情。其实两个月下来,我学到的不仅仅是知识,还有比技术更重要的。附个图,两个月来的笔记。

img

心路历程

学习按照导师给的大纲来的,也是由浅入深,由必修到选修。最大的感受就是越学越不明白,从Oozie开始,知道他是做什么的,但是没有一个合适的环境去使用它,看在多的理论也是白看,越学越没劲。我比较看重实操,光学理论,结合不了实操,我索性就不学了,那只会浪费我的时间。自学大多都是看B站学习的,这个不用我多介绍了,俩字就是良心。希望到后面能够将所学知识窜起来,做一个项目,但最后发现,做一个大数据项目所需的知识体系真的是太多了,俩月不够用,大学荒废了两年,现在才知道时间是多么重要。没时间学,也没时间做项目,所以大学狗们珍惜这4年吧。不过任何时候学习都不算晚,动起来的时候就成功99%了。

俩月的学习感触

尽量看官方文档

许多视频中也有老师提及,他们讲的其实也是从官方文档中提炼出来的,官方文档看不懂也不怕,我英语也很烂,看就完事儿了,尝试的看英文,不行就右键翻译或者装个翻译扩展程序,跟视频的好处是人家会带着你走,让你少踩坑。

版本按最新的走

公司才会考虑稳定。学习研究最新的总没错,技术更新迭代非常快,比如说学习centos,视频大多都是教的6版本的,你一股脑的学完了,现在都出到8了(截止2020-7-11之前)最后你还得在学8。干IT不要走老路,反正都是学,为什么不学新的。

清楚自己的定位

就跟高考一样,最后一道总是给清北的学生留的,自己什么水平,心里要有点数,研究到那个境界自己感觉就是不行了。赶紧放过,说明你现在功力不够。4级螳螂能打过6级盲僧吗。

多定短期计划

我定了这俩月学大数据。这就是我的计划,这行吗?这不行。这样下来其实也是浑浑噩噩的。计划尽量缩短,最好按天指定(虽然比较难)天不行就周,找到一个时候自己的计划。比如这周我只学习Hadoop,具体在划分,每一天应该学习Hadoop哪块知识。要做到当日事当日毕。

学习要讲究效率

去图书馆的一定学习好吗?学习时间≠有效学习时间。这个大家应该都是认同的。不要装模做样,该学学,该玩玩。我说说我的情况吧,我也是个普通人,不是什么学霸什么的。我也会犯困,走神,但使用一些技巧还是可以尽量去规避的。我上午一般会看一些理论性的东西,早上也是最清醒的时候。恰好这些东西又会比较枯燥,容易犯困。下午就看一些学习过的东西,做一些实操之类的。中午吃饭之后,有条件的趴个15分钟也是有用的。我就容易在1-2点这个时间段犯困,容易点头(回到了高中的感觉)。去克服这点不是那么容易。通常我会去个厕所,看看风景,站一站。千万别通过自己意志硬抗过来,扛过来的我相信戒烟,戒lu什么的不是问题。有这意志力还会犯困吗?俩月下来我也在这方面做的比较好吧。我知道我不是前者,只好只好想点办法,我中午吃饭后会多喝热水,通常该你醒的那会儿也就有感觉了。这个优先级还是很明显的,我相信少部分人会憋着一直睡吧,反正我是做不到。

养成写笔记的好习惯

我以前也不写,认为有这时间我还不如多看点东西。后来我发现,当我用到某个知识点的时候,就是知道我学过,没地方找,不知道这种情况你们遇到过没,我反正多次深有体会。养成一个习惯不是那么容易的,好的习惯通常前面需要强制培养,我写笔记的习惯也是导师逼我写的,每天必须有产出。原先我还很反感,慢慢发现,这个习惯是真的好。现在我无论是学习,还是读书,都顺手写点东西。写笔记不是为了交代谁,就是给自己看的,所以说也不用多么华丽,记得多么官方,哪怕别人看不懂你笔记,自己能看懂就行了。如果能把别人的东西按自己的理解翻译出来,那么这么就算你掌握了,到时候忘了也就是翻出来看一眼的事情。我是一个实践主义者,不喜欢形式化的东西,写笔记这个习惯也让我切实的感受到了它的好处。如果你因为我这段话加入进来,我相信你将来会感谢我的。

做的一个小项目

我最后做了一个指标监控的小项目,其实也没用到大数据的多少东西,主要是功力不够。

时间紧,还有很多值得扩展的地方,效果如下

img

下面是用到的技术栈(公司不准用IDEA开发,最好还是用IDEA)

img

从0到1如何做这个项目的文章链接:https://juejin.cn/post/6908223829039022093

附一个github的地址:https://github.com/bigli97/computer

小结

我写文章的一个出发点是站在一个讲师的角度尽量的去让大部分人理解。其实学习最重要的不是学到了什么知识,更重要的是套路和方法,高中的物化生或许对我已经没什么用了,但始终有用的就是解决问题的逻辑与思路。我并不能保证我在IT行业能干多长时间。学到的知识或许不是一生受用的,但如何学的或许是。

img