大數(shù)據(jù)那么火,到底該進行大數(shù)據(jù)的入門級學習呢?首先學習大數(shù)據(jù)需要對學習一門編程語言進行入門編程,一般是選擇Java或Python,現(xiàn)在主流的方向是以Java作為入門編程語言學習,因為后期的Spark需要使用scala語言進行編程,而Scala和Java有千世萬縷的聯(lián)系,所以建議從Java開始學習,JavaEE方法向可以適當?shù)膶W習一些SSM,大數(shù)據(jù)主要是對數(shù)據(jù)進行處理,對JavaEE端沒有太大的需求,其次需要學習的是數(shù)據(jù)庫MySQL作為廣泛使用的一個數(shù)據(jù)庫,可以作為入手,安裝簡單方便學習利于上手,并且可以學習SQL為后期學習Hive做準備。 這些學習完成后,可以開始接觸Hadoop生態(tài)圈,Hadoop自身的三大組件HDFS,MapReduce,Yarn先入手學習,現(xiàn)有分布式思想,前面學習的Java語言也是MapReduce計算框架的編程語言,學習這些之后可以開始學習Hive數(shù)據(jù)倉庫,主要是先學習基礎(chǔ)操作前期學習了SQL語言而Hive編程語言是類SQL語言叫做HQL,上手起來會比較快,然后學習數(shù)倉建模,接下來做一個關(guān)于數(shù)據(jù)倉庫的項目,在項目中學習Flume,sqoop和anzkaban.Hbase數(shù)據(jù)庫也可以學習,使用方式可能跟傳統(tǒng)數(shù)據(jù)庫不一樣,需要注意:二級索引,rowkey,列簇等應(yīng)用.這部分學習完畢基本上Hadoop部分的日常開發(fā)是可以了。 除了Hadoop這個部分外,可以學習另外一個計算分析引擎Spark,Spark是基于內(nèi)存的計算引擎,獨有的RDD依賴和血緣關(guān)系、DAG和Stage讓spark在計算數(shù)據(jù)時數(shù)據(jù)更快,spark默認使用的是scala語言編寫,scala語言和Java語言類似,之前有Java基礎(chǔ)上手Scala語言相對容易并且Spark中分為SparkCore核心,SparkSQL對接Hive,SparkStreaming實時,這些都可以完成日常離線和實時開發(fā),而且SparkStreaming作為老牌的實時引擎相對使用比較廣而且穩(wěn)定,并且集合消息中間件Kafka可以做到實時數(shù)據(jù)消費,新型的Flink實時計算引擎也可以學習,現(xiàn)在是阿里巴巴推薦使用的.最后在做一些spark項目基本上就可以完成學習了。 材料的話不建議看書,因為書不是每個人都會去認真看的可以去找一些視頻看,書可以在系統(tǒng)學習完后再補充看。 |
|