做了這么多年Java程序員,我想轉大數據了
做了這么多年Java開發,如何快速轉行大數據
分享轉行經驗路線
對于Java程序員,大數據的主流平臺hadoop是基于Java開發的,所以Java程序員往大數據開發方向轉行從語言環境上更為順暢,另外很多基于大數據的應用框架也是Java的,所以在很多大數據項目里掌握Java語言是有一定優勢的。
當然,hadoop核心價值在于提供了分布式文件系統和分布式計算引擎,對于大部分公司而言,并不需要對這個引擎進行修改。這時候除了熟悉編程,你通常還需要學習數據處理和數據挖掘的一些知識。尤其是往數據挖掘工程師方向發展,則你需要掌握更多的算法相關的知識。
對于數據挖掘工程師而言,雖然也需要掌握編程工具,但大部分情況下是把hadoop當做平臺和工具,借助這個平臺和工具提供的接口使用各種腳本語言進行數據處理和數據挖掘。因此,如果你是往數據挖掘工程方向發展,那么,熟練掌握分布式編程語言如scala、spark-mllib等可能更為重要。
Java程序員轉大數據工程師的學習路線圖:
***步:分布式計算框架
掌握hadoop和spark分布式計算框架,了解文件系統、消息隊列和Nosql數據庫,學習相關組件如hadoop、MR、spark、hive、hbase、redies、kafka等;
第二步:算法和工具
學習了解各種數據挖掘算法,如分類、聚類、關聯規則、回歸、決策樹、神經網絡等,熟練掌握一門數據挖掘編程工具:Python或者Scala。目前主流平臺和框架已經提供了算法庫,如hadoop上的Mahout和spark上的Mllib,你也可以從學習這些接口和腳本語言開始學習這些算法。
第三步:數學
補充數學知識:高數、概率論和線代
第四步:項目實踐
- 1)開源項目:tensorflow:Google的開源庫,已經有40000多個star,非常驚人,支持移動設備;
- 2)參加數據競賽
- 3)通過企業實習獲取項目經驗
如果你僅僅是做大數據開發和運維,則可以跳過第二步和第三步,如果你是側重于應用已有算法進行數據挖掘,那么第三步也可以先跳過。