零基础大数据学习经验

作者 : 开心源码 本文共6056个字,预计阅读时间需要16分钟 发布时间: 2022-05-12 共199人阅读

万字长文,纯干货,建议收藏阅读。

大纲:

一、开篇致辞

二、为什么要学大数据

三、学习大数据门槛

四、学习路线 & 独家干货(学生、在职、零基础)

五、推荐书单

六、Q & A

一、开篇致辞

我今年大四,大二的时候先后在厦门的两家小公司实习 Java,大三的时候在 Apche Kylin 的贡献团队 Kyligence 实习,现在在一家西班牙集团就职大数据开发。

首先感谢我大二的第一份实习,它是我职场上的启蒙之旅,以致我后面的一个技术视野和意识都比身边同学高少量。这也是我为什么一直推荐越早实习越好,能出去实习就别待学校里。

其次是 Kyligence 的实习,Kyligence 的技术应该是代表中国的 Top of Technology,在那里对开源技术有了新的认知和对技术的热忱。尽管现在实习结束了,但是「high bar」、「宁愿 … 也不 …」等理念和思想都已经深深地印在脑海里,对我的技术生涯有很大的影响。

日常总结(许建振)

目前这个群转型成功的案例也有100多个了,有零基础转开发,开发转大数据的等等。不得不说,分享是会倒逼自己成长,很多时候他们问的少量问题是我没想过的,也还没有机会遇到过的,但是我还是会提供少量思路和参考,最后有些成功了有些遇到新的问题而后再及时调整,最后也成功了。所以我在这个过程中积累了大量的经验,这篇文章也系统的分析一下。

对大数据以及人工智能概念都是模糊不清的,该按照什么线路去学习,学完往哪方面发展,想深入理解,想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系 。从java和linux入手,其后逐渐的深入到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相关知识逐个分享!

最近几天的情况

二、为什么要学习大数据?

在我第一份实习的时候,不记得在什么场景下我 leader 忽然说了一句:「干 Java 不就是增删改查嘛」,而刚好那时候知乎都是「干了3年Java,还是只会增删改查,迷茫」等问题 ,我听完 leader 那句话就心里一颤。

由于这句话,我又一次的陷入迷茫,我不清楚自己是不是应该继续的 Java,所以那段时间我干过爬虫,也撸了一阵子的西瓜书和统计学什么的。在知乎上所有相关的问题和答案我都看了,也在知乎付费咨询了很多前辈。最后觉得爬虫工作不好找,机器学习门槛太高,而后折中学了大数据。

上面只是我的初步动机,但后面一年多的接触,让我有了更多的理由对大数据不抛弃不放弃。

1.门槛。它比 Java 高一点,由于除了对数据库的操作之外,要学习大数据生态的东西,需要会分布式、数仓、中间件等知识。它比机器学习低少量,不需要你会很多的机器学习算法和数学知识,而像机器学习算法和数学知识是需要长时间的磨练和沉淀,所以做这块的研究生和博士居多。

由于它的学习门槛比 Java 高,所以市场上缺失这方面的培训机构,由于投入和回报不成正比,而现有的培训机构大部分都是糊弄的,让你学学 Python 爬爬数据而后自称大数据培训。

再就是高校专业的设立。无论是哪个学校的计算机专业,Java、数据、C、C++什么的都会接触到,但是大数据呢?第一批大数据专业的学生现在大二,所以现有的大数据岗位的人都是自学的,谈不上对口不对口,对口更多的指计算机基础。但是再过两年就不肯定了,所以「早,就是优势」

2.薪资高。这个预计才是吸引大部分人学习的起因。同一家公司同一级别,普通开发岗和大数据开发薪资还是会差一个品位的,具体多少视公司而定。

3.积累性和挑战性。在我学习群里面,不乏少量在传统企业或者者国企的资深开发者,但是他们对自己的职业也迷茫和担忧,在群里经常探讨少量分布式,Redis、Zookeeper等知识的时候,他们显的格格不入。由于他们长期在企业里 CRUD(增删改查),与现在互联网技术发展产生隔阂了,既憧憬又畏惧。

为什么说大数据开发是积累性又有挑战性的呢?

理解过大数据的应该知道大数据的「4V理论」,随着时间的发展,企业产生的数据量一定越来越大。在以前,我们对数据是不重视的,但是随着机器学习的发展,数据是越来越重要的。理解机器学习应该都知道,训练模型之前都会有一个特征工程的步骤,特征工程就是来解决数据的,而后喂给模型。又好又多质量又高的数据会让这个模型更聪明和健壮,相当于燃料,模型才能更好地自我训练,而后才有现在的「推荐喜欢」和「全民抖音」。

假如你只是进行少量数据库的增删该查或者者少量页面展现什么的,这些套路都是可复用的,讲究能用就行。但是大数据不一样,无论你是做平台的建设,数仓,计算等,少量场景少量机制都是需要你去思考的。

我面试的时候被面试官问到一个问题:「你为什么不做 Java,要去做大数据?」

我答复的是:「假如这个 Java 岗位能涉及到中间件的开发,而不只是做 CRM,ERP 等数据的 CRUD,那我是可以接受的。而大数据的话无论你是哪个方向,都会面临着少量挑战性,工作也更有难度少量。」

4.推动你现有岗位的发展。学习群里很多人问过,我从事先端的学大数据有什么用?我从事运维,学大数据能帮我什么?等等。

大数据+现有岗位是一个趋势。大数据来临的时候,你前台不用做少量静态化,或者者少量缓存机制吗?会少量 Hive、Hadoop,做可视化或者和后台对接的时候是不是更有优势呢?后台学少量大数据的觉得是必要的,例如Kafka、Zookeeper等分布式、缓存相关的数据存储和传输是进阶 Java 必会的,让你在现有企业需要转型的时候可以直接就上。而运维呢?分布式集群运维,各个大数据平台上的节点运维,这不是一个趋势吗?

什么都不学,认为现在的公司用不到,等公司要用到的时候,你会,可能就是一个负责人或者者给你升职加薪巴结你试试,由于这样成本小,知根知底。不会呢,就直接招会的人过来了,而你就危险了。

5.过渡到机器学习人工智能的捷径。随着科技的进步,包括硬件和软件,机器学习的使用门槛会越来越低,为什么这里强调使用。由于研究部门在每一家公司都是极少数的,更多的是在调库,调参。而随着硬件的进步,很多算法都是封装好的,可以进行傻瓜化操作,我们只要要给他喂数据。

三、学习大数据门槛

上面提到了门槛,处于普通开发和机器学习之间。经常有人问我做大数据说需不需要很好的英语,很扎实的数学功底。

无论什么岗位,英语好和数据学能摸到的天花板更高。但是大数据开发不像机器学习,日常阅读国外 paper 和对模型算法进行调优,不要求你去读西瓜书和统计学去弄懂线性回归等数学知识。

有些人可能说我智商不行,别人记住一个知识点要10分钟,我要一个小时。有些人会反驳「你的努力还谈不上比智商」。这边说一下我对「智商」的看法:智商其中是一个很广的东西,有些人学习上比你好,但生活上不肯定比你聪明。我们不可否认初高中的时候,有些学霸没怎样读书即可以考的很好,有些人很努力但也没那么好。无法否认,这就是天赋。有些人天生逻辑思维好,对数学或者者知识的笼统能力很厉害,能摸到的天花板更高。我们定位好自己就是了,智商高而且在顶层的总是那么几个人,而更多的是在中间那一层,而那一层拼的不仅仅智商,智商高的也不肯定写代码写的比你好,所以百分之 98 的人的智商拿来开发够用了。

所以大数据开发是一个既有门槛但又不是门槛特别高的方向,正常人只需找到适合自己的路线和找对学习方法都可以的。

? ?四、学习路线

我是大二自学的 Java,而后在实习结束后四个月的学习转到了大数据,而后现在也接触大数据一年多了。我这个学习路线是根据我自己学习的,我面试反馈的,还有我那帮学习群的兄弟反复锤炼出来的,应该是很有借鉴意义啊。毕竟一个群几百个人,什么情况的都有,成功了总结经验,失败了找起因而后调整一下不怂再干。希望这个学习路线能帮你少走点弯路,这些资源也能帮到你。

首先学大数据分为两种,学生和在职,请对号入座。

学生:

1.首先要知道一点,只需你是在校生,无论你是不是科班,差别都不会很大。科班的意义是基础扎实,但是你看现在计算机专业的,哪几个扎实了。反而是非科班的,会意识到这一点,而后去补缺补漏。

2.假如你还是大一大二的话,可以扎实地补补基础。假如静不下心学基础的话,可以做做项目,而后赶紧去找实习。而且我也建议以找实习为目的进行学习,不然很容易迷茫和漫无目的地学习,最终学了什么自己都不知道,以目的为导向进行学习很重要。

3.假如你是大三大四,该准备春秋招了,大三的春季实习招聘要好好把握,这时假如找到一份大厂实习,那秋招就没什么压力。大四的春招也很重要,由于这是最后一次学生身份参与招聘,门槛还是低一下。

4.在校生的面试,无论大厂还是小厂都有一套方法论。首先要书写一份好的简历,防止卡在简历这关。简历的话我一直都有在帮我群里那帮兄弟参考,效果都很显著,由于这块不算今天的内容里面,有需要帮忙看的朋友可以加文章末的好友细聊。

5.小公司注重项目,基础要求相对不高;大公司除了要求项目,还需要你基础够好。

6.在校生要学大数据的话,建议先找份Java的实习,而后再跳到大数据岗位,由于大数据也是需要Java知识,这样一个过渡比较好。

学习路线:

1.Javase和项目我是建议同步进行,由于你想要完全学好一门语言再去接触项目,看似可行,实则不太好。反而是两者相辅相成,利于及时调整。

2.当能把项目写在简历上的时候就去投,去面试,面试可以收获非常多东西。由于这时候JVM和多线程还不会,所以只能去投少量小公司。当后面把JVM和多线程补起来的时候可以进军大公司。

3.数据结构和算法需要贯穿整个个学习周期。提高算法前期以刷剑指offer这本书为主,刷到能手写代码。建议先在大三找份Java实习,而后找到实习之后接着学大数据知识,这样既完成了阶段性目的,也为了下一阶段做准备。

在职:

在职的分为开发的在职以及要转行的在职。

1.首先,不建议裸辞,除非你经济上无任何负担以及做好了各种准备。要转行的建议业余先抽时间出来理解理解,看自己能否真的想从事这个行业。

2.假如你之前已经是Java开发,那很好,要过渡到大数据先看看上面的8天Hadoop入门,或者者直接看Hadoop?权威指南都可以。而后结合我的面经学学少量理论知识,还有少量实战面试题,再做个项目即可以马上去面试了。学的差不多即可以投了,肯定不要拖太久,越拖会越没信心。

3.假如你之前是?PHP?开发,或者者DBA?什么的,建议重新回顾下Java。由于大数据目前还是以Java为主要开发语言,回顾完Java基础之后,可以直接看8天Hadoop入门,而后做项目,除了大数据项目之外,建议补一到两个技术栈比较好的项目,不然简历面不好过。

4.假如你是零基础想转行的话,建议先找份Java开发,零基础一下子跨越到大数据有点大。建议先踏入编程这个行业,而后再去转大数据,过程会比较有反馈。零基础的话不建议一上来就算法什么计算机基础,先直接学Java,可以看看Java的基础视频,而后自己鼓捣几个项目,去找个小公司。这样周期会比较快,而后在这家公司快速学习,可以补补基础,或者者学习学习大数据。

学习路线:

1.Javase视频我是用慕课网的三个视频入门的,我不太建议一次性看完黑马等那些培训视频,看完花都谢了,而且周期这么长,容易看了后面忘了前面,时不时的还怀疑自己。

2.项目的话分两种情况,一种是平常练手的,一种是针对面试的。练手的话,无论大小,无论类型都可以。针对面试还是得选少量有特点,面试的是扯的开的。至于项目的获取渠道有慕课网以及培训视频,或者者都没你中意的,你可以加我微信我针对性推给你。

3.JVM & 多线程。自己做项目的话很难实质性地接触到这两块,更多的是应对面试。假如你直接啃这两块的话很晦涩,但是你经过项目训练之后再去做这两块就会有很多代入场景。

4.大数据组件学习。无论你想做大数据的哪个方向,Hadoop 都是必学的,学完这个之后后面可以根据你想做的方向进行针对性学习。假如你不知道大数据都有哪些方向,以及大数据是干嘛的,不妨后端回复「大数据扫盲」。

Hadoop 学习推荐一个视频:8天Hadoop,用来对 Hadoop 有一个通识了解还是可以的,后端回复 「8天Hadoop」获取。

Hadoop 学习完之后就要分方向了:数仓离线计算、实时计算、流式计算等等。离线重点掌握 Hive、MapReduce,实时重点掌握 Spark、Flink。而后像 Zookeeper、Kafka、HDFS、Yarn 无论哪个方向都得学的。后端回复「一律视频」获取。

五、推荐书单

其实我不太建议新手一上来就啃书的,我都是建议我群里的群友根据我整理的一份面经来复习的,面经上尽管有题目和答案,但我都是建议看着问题,通过搜索引擎去整理出自己的答案。把每个板块看完了再系统性去看书,比较不会晦涩,也能抓的住重点。

Hadoop权威指南

Hadoop技术内幕:深入解析Hadoop Common和HDFS

Spark技术内幕

Hadoop技术内幕:Yarn

Spark大数据解决技术

Hive编程指南

Hbase企业级实战

Storm分布式实时计算模式

从paxos到zookeeper分布式一致性协议

Kafka源码剖析

数据仓库

Java编程思想(部分章节)

Java并发编程实战

深入了解java虚拟机

Java消息服务

Linux高性能服务器编程

Linux内核设计与实现

统计学习方法?

机器学习实战

大话设计模式

大型网站技术架构

memcache全面剖析

快学Scala

剑指offer

六、Q & A

1.学到什么程度可以找工作?

找的到工作和胜任工作是两码事,能找的到工作不肯定能胜任工作,能胜任工作的不肯定找的到工作,但你连工作都找不到,那就谈不上胜任。

而且没有一份工作是你能百分百胜任的,当你学的能写出一个像样的简历,即可以去投投试试水,不用怕自己能力不够什么的,你多面试总不亏的,而且也有反馈。

2.如何针对简历准备面试?

3.针对日新月异的技术,如何跟进脚步学习?

4.如何进行知识点整理?

我在我的博客里平常会总结少量零碎知识点,每隔一段时间会去整体梳理一遍。由于我博客的定义是给自己看的,所以都是自己能了解的大白话,很多我自己手画的图而后上传上去。

对大数据以及人工智能概念都是模糊不清的,该按照什么线路去学习,学完往哪方面发展,想深入理解,想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系 。从java和linux入手,其后逐渐的深入到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相关知识逐个分享!

6.如何进行源码解读?


说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 零基础大数据学习经验

发表回复