機緣巧合從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虛擬機),以及大數據開發知識。
好了,今天就簡單介紹一下數據倉庫工程師和大數據開發工程師的區別,以后打算不定期的分享一些大數據的技術知識,小伙伴們若感興趣,也可以評論留言哈。