机缘巧合从Java开发转行成为数仓工程师,工作半年后,又成为大数据开发工程师。趁现在有时间,分享一下转行经验以及大数据的一些基础介绍,希望能帮到初入大数据的兄弟们,毕竟我当初入门的时候,也是一头乱麻。
首先对于大数据转行或者学习,比较好入门的岗位就是数仓开发工程师和大数据开发工程师这两个,那么这两个的区别是什么,学习的内容有什么区别,侧重点在哪?
1.什么是数仓工程师
数仓工程师主要是对数据仓库的数据清洗,数据计算,数据转换以及数据建模,比如负责数据仓库常见的ETL开发。一般来说,进入公司,数仓开发主要就是针对业务写HiveSQL,然后建模,构建报表这些工作,有些也会在公司搭建数据仓库等工作。(偏SQL方向)
2.什么是大数据工程师
大数据开发主要是大数据组件的二次开发,或者大数据平台的搭建等方向,我目前干的就是大数据组件的二次开发。总而言之就是,参与大数据分布式应用系统服务器端或客户端软件开发工作(需求开发、故障解决和性能优化等)。主要偏向于Java方向,Java要求较高。
3.两者之间的学习内容和路线
两者的技术学习路线大致相同,数仓工程师需要熟悉数仓建模理论,大数据开发工程师需要JVM和Spring框架知识。
技术路线:Linux学习 --> Java(SE) -->Hadoop-->Hive-->Zookeeper-->Scala-->Spark-->Kafka-->Flume-->Sqoop-->Hbase-->Flink
Java部分:需要学习Java的基础知识,但是目前不需要学习JavaWeb相关的知识,但是需要JVM知识(面试必问);
Scala语言:这个语言需要学习,因为Spark就是这个语言编写的,后期看源码,方便理解;
Flink:这个初学者可以不用看,可以在工作中慢慢学,若是转行实时方向,则必须要学习。
综上:按照上面流程,依次学习,至少需要3到6个月的时间。比如在学到Zookeeper时,可以在网上找个简单的离线数仓项目做做,看看是怎么运用的。学习完Spark后,也需要做Spark方面的项目练手等等。
4.如何转行时,如何选择大数据岗位
对于刚转行的小伙伴们,一般建议选择数仓开发,面试之前必须刷常见的SQL题目,熟悉大数据基础。若选择大数据开发,则必须熟悉JVM(Java虚拟机),以及大数据开发知识。
好了,今天就简单介绍一下数据仓库工程师和大数据开发工程师的区别,以后打算不定期的分享一些大数据的技术知识,小伙伴们若感兴趣,也可以评论留言哈。