想要学习大数据开发,第一件事并不是要找书籍或者是找视频教程,而是要了解一下大数据行业前景,了解一下成为大数据工程师需要具备什么样的能力,掌握哪些技能我当初学习大数据之前也有过这样的问题,作为一个过来人,今天就跟大家聊下大数据人才应该具备的技能。
首先我们要知道对于大数据开发工程师需要具备的技能,下面我们分别来说明:
用人单位对于大数据开发人才的能力要求有
技能要求:
1.精通JAVA开发语言,同时熟悉Python、Scala开发语言者优先;
2.熟悉Spark或Hadoop生态圈技术,具有源码阅读及二次开发工作经验;精通Hadoop生态及高性能缓存相关的各种工具,有源码开发实战经验者优先;
3.熟练使用SQL,熟悉数据库原理,熟悉至少一种主流关系型数据库;熟悉Linux操作系统,熟练使用常用命令,熟练使用shell脚本;熟悉ETL开发,能熟练至少一种ETL(talend、kettle、ogg等)转化开源工具者优先;
4.具有清晰的系统思维逻辑,对解决行业实际问题有浓厚兴趣,具备良好的沟通协调能力及学习能力。
以上就是想要成为大数据人才需要具备的技能
那么如何具备这些能力,怎么学习了,对于大多数人来说,目前只有通过参加大数据的学习,才能够系统的掌握以上的大数据技能,从而胜任大数据工程师的工作。
怎样成为优秀的大数据工程师?需要具备哪些技术?,说明如下:
熟悉Hadoop生态体系
1.HBase优缺点、架构以及HBaseAPI使用
2.搭建Hbase集群、使用HbaseWebUI、使用HBaseShell、利用Java编写程序在hbase中创建表、利用Java编写程序向hbase表中写入和读取数据
3.掌握Hive内部原理,了解常见Hive的优化方式
4.Presto基本架构,Presto与Hive对比,Presto基本使用
熟悉Spark生态体系
1.掌握常见的SparkAPI,熟练使用Spark开发大数据分析程序
2.掌握常见的机器学习算法,能够使用SparkMLlib工具包解决机器学习问题
熟悉深度学习体系
掌握深度学习技术,包括数学与Python技术,了解神经网络技术及开源框架Tensorfow、pytorch等。
熟悉企业级大数据开发
1.Hadoop+Kafka+Spark+Presto/Hive+Echart/D3结合开发大数据日志分析系统
2.Kafka+SparkStreaming+MLlib+Tomcat+J2EE+Echart开发大数据网站分析系统
以上就是怎样成为优秀的大数据工程师以及需要具备哪些技术的说明!
具备大数据技术
看你是做哪方面的,大数据也分很多种,最基本的大数据组件要会。
楼主这样问,应该是个刚接触大数据的同学,咱不来虚的,实打实回答一下。
第一,这两个问题顺序反一下,比较合理。先掌握一些大数据技术,再去成为优秀的大数据工程师。
第二,如果是培训或者自学,基本不会去做什么底层平台研发,根本不用考虑,就是放眼整个国内都是用的国外开源的大数据生态技术,直到近两年才有一些国内大厂贡献了几个不错的组件,但在企业里落地使用情况怎么样还不好说。华为,腾讯都开源有自己的大数据组件,有的已经成为了Apache基金会的顶级项目,说明国内在底层,生态上的贡献已经有一席之地了,但这种源码级工程师在各行各业都不太多的。
那么,做大数据工程师主要工作就是应用研发,数据分析和运维部署这三块(说实话,安全这一块也很重要,在大数据这块尤其重要)。目前来看中小企业是不会特别区分这些岗位的,很多小企业连个正式的运维都没有的,经常是一人身兼多职,有机会有本事的同学也可以到大厂感受一下研发氛围和流程。
做好了上述三个方面工作自然就算的上优秀了。应用研发方面要求熟悉大数据组件Hadoop,Hive,Spark,Kafka,Flink,Hbase,ES等,我这里说的,你只要摸透精通其中三个,能力就不虚现在业内一半的大数据从业者。为什么这么说?大数据概念也就15年火起来,在这之前大学正经的大数据科班出身可以说不存在的,除了阿里腾讯等大厂自身数据优势(被迫)成长起来的一点大牛之外,业内普通的大数据工程师哪个不是培训或Java转型过去的?打着高薪噱头培训机构蜂拥而至鱼龙混杂,学生水平能力参差不齐,光学历上都有初中毕业到硕士毕业的差别(我没听说博士去培训这个东西的)。不吹不黑,培训机构刚出来的良品率低到不能看。
上述三个职责方面,运维部署其实排在最前,一般来说包含搭建大数据环境,升级集群和安全维护这些(安全工作能做好,你很优秀!)。部署伪集群一般也是学习大数据的第一步,不弄个集群去学习练手,其他都是纸上谈兵。各个课程大纲也都会讲如何配置搭建。然后学习路径也可以按照机构课程表来,毕竟他们目标是速成,想快速通关的看机构的课表没错了。想把基本功做扎实的就再参考大数据知识图谱来查漏补缺吧。
这个全都能做到,技术框架的硬本事已经无可挑剔了。程序员的基本素养补一补(代码规范之类),再看数据分析这一块。大数据工程师区别于其他软件开发工程师的地方,我觉得应该在这里。你需要有自己的想法和数据分析能力,有一定数据敏感性,不能一直等着领导boss给你派活。概率统计,分析挖掘这一块的知识要学习,提升软实力。你要有做数据产品的头脑,也要有数据驱动的心思。
先手码到这,我从事大数据工作,现在一小公司负责数据业务,还有什么疑问困惑可以评论或私信我,方便给出具体可行的建议。
大数据工程师有不少细分方向,不同的方向需要具备不同的知识结构,通常情况下大数据工程师分为四个具体的工作领域,分别是大数据底层平台研发、大数据应用开发、大数据分析和大数据运维,其中大数据平台研发工程师的数量占比较少,属于大数据领域的高端人才,往往从业者在研究生期间主攻的方向就是大数据平台研发。
大数据应用开发工程师是大数据领域一个比较热门的岗位,由于目前大数据正在处在落地应用的阶段,所以有大量的传统应用需要进行大数据改造,因此大数据应用开发岗位有较多的人才需求。这个岗位需要掌握的知识结构包括大数据平台体系结构,比如目前常见的Hadoop、Spark平台,以及众多组件的功能和应用,另外还需要掌握至少一门编程语言,比如Java、Python、Scala等,这些编程语言是可以开发落地应用的。
大数据分析工程师是大数据领域非常重要的岗位,因为大数据的核心之一是数据价值化,而数据价值化的核心则在于数据的分析和应用,所以数据分析是大数据应用的一个重点所在。大数据分析工程师需要掌握的知识结构包括算法设计、编程语言以及呈现工具,算法设计是大数据分析师需要掌握的重点内容,而编程语言的作用则是完成算法的实现。另外,大数据分析师还需要掌握一些常见的分析工具,比如一些常见的BI工具,在一些比较简单的场景下BI工具能完成大量的工作,并生成呈现界面。看一个使用Python中scipy库的应用:
大数据运维工程师的主要工作内容是搭建大数据平台、部署大数据功能组件、配置网络环境和硬件环境、维护大数据平台,大数据运维工程师需要具备的知识结构包括计算机网络、大数据平台体系结构、编程语言(编写运维脚本)等,通常情况下,大数据运维工程师也需要对数据库有深入的了解。
大数据是我的主要研究方向之一,目前我也在带大数据方向的研究生,我会陆续在写一些关于大数据方面的文章,感兴趣的朋友可以关注我的号,相信一定会有所收获。
如果有大数据方面的问题,也可以咨询我,谢谢!