java工程師轉大資料,應該學哪些知識和技術?愛碼農2019-04-03 10:30:06

對於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)透過企業實習獲取專案經驗

如果你僅僅是做大資料開發和運維,則可以跳過第二步和第三步,如果你是側重於應用已有演算法進行資料探勘,那麼第三步也可以先跳過。