自學Java,想將來從事大數(shù)據(jù)工作,怎么學?
我是大一通信工程的一名學生,我們學習的是C,但我將來想從事大數(shù)據(jù)開發(fā)的工作,我想向各位大佬請教一下,像我這種情況,自學Java然后去從事大數(shù)據(jù)工作是不是不太現(xiàn)實?如果做的話我該怎么制定學習路線呢?
看到這個問題我就有點小激動,哈哈哈~~又是一個想來跳坑的兄弟,但是既然你有這個想法,做為一名長期在一線的JAVA+大數(shù)據(jù)應用開發(fā)老司機,我想結合我在工作中的一些心得給你一些建議吧。
首先大數(shù)據(jù)這個趨勢已經(jīng)很明了,但是進入這個領域有門檻,而且不小,要有心理準備,自學要因人而異,沒有基礎的前提下,有難度,后面我會給你一些學習的建議。
其次是大數(shù)據(jù)目前的工作方向主要是三個:大數(shù)據(jù)應用,數(shù)據(jù)分析,大數(shù)據(jù)研究,當然還有一些像機器學生有關的數(shù)據(jù)挖掘什么的,也在這個類別,我暫時歸到研究方向,因為要應用的話,還得結合一些行業(yè)和業(yè)務進行,所以你要從事大數(shù)據(jù),可能要先定一下方向哈,就難易度來選,我個人是在大數(shù)據(jù)應用方向開著車,所以要上車,我建議可以在這個方向考慮一下。
大數(shù)據(jù)必備技能
根據(jù)方向,我總結了一下需要的技能,供你參考,如下:
最基本的是JAVA核心API有關內容,當然有JAVA開發(fā)經(jīng)驗的最容易入門,比如從事過JAVAWEB開發(fā)的,基本上可以很容易跳進大數(shù)據(jù)應用方向,如果沒有JAVA基礎,很多內容你會理解不了。
同時除了基本的基礎以外,我在下面還給你羅列了一些列必須的技能:
1、Java高級(VM相關、并發(fā)相關,線程相關)
2、Linux 基本操作(環(huán)境,命令,網(wǎng)絡等相關內容)
3、Hadoop(此處通常指的是
HDFS+MapReduce+Yarn的相關內容 )
4、HBase(JavaAPI操作+Phoenix )
5、Hive(Hql基本操作和原理理解)
6、Kafka
7、Storm
8、Scala
9、Python
10、Spark
(Core+sparksql+Spark streaming )
如果要把大數(shù)據(jù)玩得比較洋氣,個人建議還要學習一些高級技術,不過不建議一開始就去觸碰,畢竟這些技術個人建議還是有一些經(jīng)驗積累后再來哈,會比較快。否則你會覺得你在看天書。
下面這些供你以后提升學習用。
1.機器學習算法以及mahout庫加MLlib
2.R語言
3.Lambda 架構
4.Kappa架構
5.Kylin
6.Aluxio
學習建議
一定要把JAVA基礎和JAVA高級部分學好,把JAVA做為第一開發(fā)語言,這個是關鍵,其次,Python也要引起重視,可以做為第二開發(fā)語言去學習掌握。
一定要把Linux的基礎操作,網(wǎng)絡操作,文件操作等學好,掌握熟練,特別在環(huán)境配置部分,要多熟悉各種命令,同時也要多熟悉系統(tǒng)的基本結構。
關于Hadoop、Hive等環(huán)境和技術應用,要結合一些實際點的案例來學要快一些,簡單的Demo很難看到一些現(xiàn)象。
上面的內容可以買些書來看(需要可以問我,這里就不安利了),當然如果看書效果不好,可以去找一些網(wǎng)課,跟著視頻學,最直接的學習方式就是去報名參加下一些線下的專業(yè)培訓班,集中學習。
最后,小編想告訴你,自學Java可以,但是大數(shù)據(jù)是一門十分前沿的技術,自學有一定難度,不僅需要理論知識,最重要的是參與項目實踐,且老師的帶領也是你成功的關鍵因素。
無論你是否有Java基礎,都可以來到北大青鳥徐州中博學院學習Java大數(shù)據(jù)課程,我們的課程從Java入門開始教,一直到大數(shù)據(jù)項目實踐,幫你快速掌握企業(yè)所需的前沿技術,實現(xiàn)高薪就業(yè)。
(責任編輯:代碼如詩) |