文章摘要:大数据学几年
伴随着大数据时代的冲击,越来越多想要通过技术获得高薪工作的同学选择大数据技术方向。如果想知道学大数据一般多久这 […]
伴随着大数据时代的冲击,越来越多想要通过技术获得高薪工作的同学选择大数据技术方向。如果想知道学大数据一般多久这个问题,就接着往下看吧。
大数据自学时间
伴随着大数据时代的冲击,大数据开发相关的技术人才成为目前招聘市场炙手可热的高薪岗位,越来越多想要通过技术获得高薪工作的同学选择大数据技术方向。我们知道目前学习大数据可以通过自学或者参加培训两种方式,参加大数据培训一般5-6个月就可以掌握大数据技。
对于有Java编程基础的同学,自学大数据相对容易上手,因为目前大部分大数据技术都是基于实现的,因此对于这部分同学而言,只要进一步学习大数据相关的理论知识,基本上就可以上手开发相应的项目。
而对于零基础的同学,自学大数据之前肯定要系统学习一下Java相关的技术,而零基础入门一种编程语言至少需要4-6个月的时间,达到熟练掌握的程度之后再学习大数据相关的技术,预计需要6-12个月的时间。最终还不一定能达到实操应用的层次,而在实战学习过程可能还需要3-4个月的时间才能系统的了解一个完整的项目操作流程,总计下来至少需要9个月左右的时间才能勉强达到就业的水平。
为什么自学大数据那么久
1、知识面不系统,容易走弯路
对于零基础的同学,对技术开发并没有系统的认识,在学习过程中很容易避重就轻,在非热门技术上耽误太多的时间钻研,从而将整个学习过程的周期拉长,浪费时间不说,关键的是辛苦学习了很久的知识点,是已经被淘汰或者很冷门的应用技术,最终依旧很难实现自己的就业梦想。
2、学习资料不齐全,学习断断续续
虽然说现在网络上有大量的大数据学习资料以及图书,但是目前在线平台大部分课程都是专题形式,即以某技术的某个方面的应用为路线的学习,不同的知识点课程之间的连贯性不强,甚至某些技术知识点无法在网络上找到对应的课程,从而导致整个学习过程断断续续,无法保障整体的学习效果。在寻找各种学习资源的过程中也会浪费大量的时间。
3、学习过程遇问题,层层高山难翻越
无论是学习任何新知识,在学习过程中难免会遇到各种问题,如果采用自学的方式,遇到问题只能通过查询资料或者通过各种途径寻求帮助的方式解决,每次问题都是一次难以翻越的高山,甚至有很多同学因此放弃了自己的自学计划。
4、实操流程不清晰,动手能力难掌握
单纯的学习知识点也许可以通过收集资料的方式解决,但是实操练习却很难通过自学解决,甚至因为不懂得各种项目的开发流程,在实操过程中不断反复的尝试,也许最终可以实现相应的功能,但是并不一定能够和企业实际应用开发的流程想匹配。从而在就业时遇到更大的问题。
初学者大数据学习路线
第一阶段:大数据学习必备Java技术
目前大部分企业大数据技术实现都是在Java编程语言基础之上,因此对于零基础的同学首先要掌握Java开发技术,此阶段需要掌握的知识内容有Java编程基础、面向对象入门、JavaWeb核心知识、Java开发主流框架(Spring组件、SpringMVC、Mybatis组件等)、Java常用流行框架(Lucene组件、SpringDataJPA、SpringBoot等)。学习完成本阶段大家已经具备企业级JavaWeb项目的开发,并且能够掌握微服务框架的使用,完成项目环境快速部署。
第二阶段:大数据基础增强
在掌握了Java核心技术之后,还需要进一步学习Linux操作基础,主要学习Linux操作系统的理论基础和服务器配置时间知识,掌握Linux操作系统的网络配置、DNS/DHCP/HTTP/FTP/SMTP和POP3服务的配置与管理,为更深一步学习其他网络操作系统和软件系统开发奠定坚实的基础。
第三阶段:大数据技术学习
掌握以上两个阶段的内容后,就要开始大数据技术的学习了。在大数据学习中核心需要掌握的技术点包括Hadoop、NoSQL、Kafka、ELK、Spark、Flink、Druid等知识点。
1、Hadoop,在Hadoop离线分布式系统学习中,需要重点掌握HDFS组件详解以及实战、mapreduce组件详解以及高级性能优化、Yarn组件详解以及多租户的实现、hive组件实战以及性能优化、impala组件实战以及性能优化sqoop常见问题详解。
2、NoSQL介绍、Redis的原理和架构、Redis的集群搭建、Hbase的应用场景、Hbase架构和原理以及RowKey设计和优化策略、HBase+Redis微博实战案例、Elasticsearch的功能、架构和原理以及ELK案例实战
3、Spark,在Spark内存计算系统需要重点学习的内容包括:Scala语言基础、Spark入门以及集群搭建、SparkRDD、SparkSQL、SparkSrteaming、Structured Streaming、Kudu等。
4、Flink,Flink的运行机制、Flink组件和逻辑计划、Flink执行计划生成、JobManager中的基本组件、TaskManager、算子、网络、水印WaterMark、任务调度,flink的状态管理、CheckPoint、flinksql及flinkTableApi。