成為一名大資料工程師,需要具備什麼技能?

金羅老師發表於2018-12-23

經常看到近幾萬的朋友都在疑惑,學習Java應該選擇什麼發展方向,這個我們們在之前的文章中有提到過,Java發展在領域上有三個選擇方向:

JavaEE,主要應用於企業級應用開發;安卓開發方向;嵌入式應用開發方向。在此建議大家選擇JavaEE方向,因為應用非常廣泛,崗位設定也比較多。

但我們從來沒有討論過學習Java,難道這輩子就只能做Java後端開發嗎?只能在這條路上奮鬥到底嗎?難道中途沒有其他的選擇嗎?

偶然認識的一個朋友,最開始是從事Java後端開發的,後來他在業餘時間自學成功轉入大資料行業,現在是一名大資料工程師,待遇也比之前好更多。前提是他是一名Java後端開發。

**大資料是未來的發展方向,正在挑戰我們的分析能力及對世界的認知方式,因此,我們與時俱進,迎接變化,並不

斷的成長!大資料學習群:868847735 一起討論進步學習**

大資料是我們如今比較火的一個發展方向。

但是大資料的起點要高,並不是所零基礎就可以入門的。

我們接下來講述的有關大資料的學習是有條件限制的,首先你需要是一名普通的工程師,如果你是Java工程師的話更好,但如果你是小白的話,那就只能成為一名工程師的後再來學習大資料吧。


認識大資料
大資料本質其實也是資料,不過也包括了些新的特徵:

資料來源廣;

資料格式多樣化(結構化資料、非結構化資料、Excel檔案等);

資料量大(最少也是TB級別的、甚至可能是PB級別);

資料增長速度快。

而針對以上新的特徵需要考慮很多問題:

例如,資料來源廣,該如何採集彙總?採集彙總之後,又該儲存呢?資料儲存之後,該如何通過運算轉化成自己想要的結果呢?

對於這些問題,我們需要有相對應的知識解決。


大資料所需技能要求

Python語言:編寫一些指令碼時會用到。

Scala語言:編寫Spark程式的最佳語言,當然也可以選擇用Python。

Ozzie,azkaban:定時任務排程的工具。

Hue,Zepplin:圖形化任務執行管理,結果檢視工具。

Allluxio,Kylin等:通過對儲存的資料進行預處理,加快運算速度的工具。

必須掌握的技能:

Java高階(虛擬機器、併發)、Linux 基本操作、Hadoop(HDFS+MapReduce+Yarn )、 HBase(JavaAPI操作+Phoenix )、Hive(Hql基本操作和原理理解)、 Kafka、Storm/JStorm、Scala、Python、Spark (Core+sparksql+Spark streaming ) 、輔助小工具(Sqoop/Flume/Oozie/Hue等)

高階技能6條:

機器學習演算法以及mahout庫加MLlib、 R語言、Lambda 架構、Kappa架構、Kylin、Alluxio


學習規劃
第一階段

Linux學習:Linux作業系統介紹與安裝、Linux常用命令、Linux常用軟體安裝、Linux網路、 防火牆、Shell程式設計等。

Java 高階學習:掌握多執行緒、掌握併發包下的佇列、掌握JVM技術、掌握反射和動態代理、瞭解JMS。

Zookeeper學習:Zookeeper分散式協調服務介紹、Zookeeper叢集的安裝部署、Zookeeper資料結構、命令。

第二階段

Hadoop 、Hive、HBase、Scala、Spark 、Python

第三階段

Sqoop、Flume、Oozie、Hue這些工具的學習主要在CSDN,51CTO以及官網都可以學習。

總結

在技術行業裡面,每天都會有新的東西出現,需要關注最新技術動態,不斷學習。任何一般技術都是先學習理論,然後在實踐中不斷完善理論的過程。

如果你覺得自己看書效率太慢,你可以網上搜集一些課程。

快速學習的能力、解決問題的能力、溝通能力在這個行業是真的非常重要的指標。

要善於使用StackOverFlow和Google來幫助你學習過程遇到的問題。

視訊課程推薦:選擇一個適合自己的。

以上是我們對大資料學習的總結,當然我們也提到了,並不是說零基礎的就可以直接學習,需要有程式設計的基礎,我們需要先掌握紮實的程式設計基礎,在此建議學習Java,成為一名工程師的時候,有一定程式設計經驗,自學起來也相對比開始要簡單一點,然後對大資料有興趣或者想要進入這個行業的就可以去學習了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561003/viewspace-2286144/,如需轉載,請註明出處,否則將追究法律責任。

相關文章