大数据开发开发工程师主要的工作内容就是写SQL和编程对数据进行处理统计分析,具下面用言简意赅的语言概括一下:
1.掌握一门编程语言:例如Java、Python(如果是大数据开发,建议学Java,因为目前流行的大数据分布式框架大多是基于Java开发的或运行在JVM平台上的,例如:Hadoop、Hive、Hbase、Flink、Spark等;如果是想走算法方向,可以选Python,因为Python的算法库多一些),但是不要为选那种编程而纠结,编程语言都是相通的,学会了其中一个,再学其他的也会很快上手!重要的是先搞起来!
2.熟练使用Linux:因为公司的大数据项目都是部署在Linux服务器上的,所以需要数量掌握Linux的常用命令,并且可以编写一些Shell脚本!
3.掌握一种关系型数据库:因为公司的业务数据一般是保存在关系型数据库中的(例如MySQL、Oracle、PostgreSQL等),做大数据开发,经常会将一些关系型数据库中的数据迁移到HDFS分布式文件系统中,然后在使用大数据框架数据分析,而且计算好的结果有时候也会保存到关系型数据库中!就是数量使用SQL,而且大数据框架中的Hive SQL、SparkSQL、Doris与这些关系型数据库的SQL都是差不多,触类旁通的!
4.掌握Hadoop框架:Hadoop框架是目前公司大数据使用比较多的,主要用HDFS分布式文件系统解决海量数据的存储;使用YARN作为资源调度;MapReduce虽然现在使用的比较少,但是这种分布式的思想还是很重要的。
5.熟练Hive SQL:大数据离线项目,一遍都是将非结构化的数据,进行预处理后,转成结构化的数据,然后进行数仓建模,剩下大部分的工作都是使用SQL对数据进行处理和计算,所以必须熟练使用SQL。
6.熟练使用Spark:大数据公司一般使用Spark做离线计算、图计算、机器学习。复杂的业务,无法用SQL完成的,就需要编写Spark程序完成,如果仅会SQL那只能做一个SQL Boy/Girl,如果想有更好的发展,拿更高的薪水,就必须会编程!
7.掌握Kafka消息中间件:如果公司有实时的业务,通常是将数据保存到Kafka这种消息中间件中的,如何高效、快速、安全、保证数据的一致性,就必须熟练掌握Kafka的操作和原理,并且还要有一定的优化的经验。
8.熟练使用Flink:现在大数据实时计算,最流行的就是Flink了。Flink也可以写SQL完成实时计算,但是复杂的场景,SQL搞不定,还是需要编程来实现。
9.掌握一种OLAP引擎:例如Doris、ClickHouse等(还是SQL)
10.有大数据项目经验:找工作,大数据项目的经验最重要了!
还有一些其他的框架,就不一一列举了,上面的框架也不是说都要学,重要的是熟练使用其中的一两个就行了,总结起来就是:不是全,而是精!!!
如果你对大数据感兴趣,可以看看下面的内容: