『壹』 數據工程師該如何入門
1. 了解行業情況
剛開始一定要了解清楚自己和行業的情況,很多人根本就分不清招聘信息中的大數據和數據挖掘的區別就說自己要轉行,其實是很不負責的。不要總是趕熱點,反正我就是經常被鄙視做什麼大數據開發太Low,做數據就要做數據挖掘,不然永遠都是水貨。
2. 選擇學習途徑
如果真是清楚自己明確地想轉數據開發了,要考慮一下自己的時間和精力,能拿出來多少時間,而且在學習的時候最好有人能多指點下,不然太容易走彎路了。
在選擇具體的學習途徑時,要慎重一點,有幾個選擇:
自學
報班
找人指點
別的不說了,報班是可以考慮的,不要全指望報個輔導班就能帶你上天,但是可以靠他幫你梳理思路。如果有專業從事這一行的人多幫幫的話,是最好的。不一定是技術好,主要是可溝通性強。
3. 學習路線
學習路線,下面是一個大致的建議:
第一階段
先具備一定的Linux和Java的基礎,不一定要特別深,先能玩起來,Linux的話能自己執行各種操作,Java能寫點小程序。這些事為搭建Hadoop環境做准備。
學習Hadoop,學會搭建單機版的Hadoop,然後是分布式的Hadoop,寫一些MR的程序。
接著學學Hadoop生態系統的其它大數據組件,比如Spark、Hive、Hbase,嘗試去搭建然後跑一些官網的Demo。
Linux、Java、各種組件都有一些基礎後,要有一些項目方面的實踐,這時候找一些成功案例,比如搜搜各種視頻教程中如何搞一個推薦系統,把自己學到的用起來。
第二階段
到這里是一個基本的階段了,大致對數據開發有一些了解了。接著要有一些有意思內容可以選學。
數據倉庫體系:如何搞數據分層,數據倉庫體系該如何建設,可以有一些大致的了解。
用戶畫像和特徵工程:這一部分越早了解越好。
一些系統的實現思路:比如調度系統、元數據系統、推薦系統這些系統如何實現。
第三階段
下面要有一些細分的領域需要深入進行,看工作和興趣來選擇一些來深入進行
分布式理論:比如Gossip、DHT、Paxo這些構成了各種分布式系統的底層協議和演算法,還是要學一下的。
數據挖掘演算法:演算法是要學的,但是不一定純理論,在分布式環境中實現演算法,本身就是一個大的挑戰。
各種系統的源碼學習:比如Hadoop、Spark、Kafka的源碼,想深入搞大數據,源碼跑不掉。