2018年最新Hadoop大數據開發學習路線圖

2018年最新Hadoop大數據開發學習路線圖

2018年01月11日 11:41:17 撲滿心 閱讀數:32802

 

Hadoop發展到今天家族產品已經非常豐富,能夠滿足不同場景的大數據處理需求。作爲目前主流的大數據處理技術,市場上很多公司的大數據業務都是基於Hadoop開展,而且對很多場景已經具有非常成熟的解決方案。

作爲開發人員掌握Hadoop及其生態內框架的開發技術,就是進入大數據領域的必經之路

 

下面詳細介紹一下,學習Hadoop開發技術的路線圖。

Hadoop本身是用java開發的,所以對java的支持性非常好,但也可以使用其他語言。

下面的技術路線側重數據挖掘方向,因爲Python開發效率較高所以我們使用Python來進行任務。

因爲Hadoop是運行在Linux系統上的,所以還需要掌握Linux的知識。

 

第一階段:Hadoop生態架構技術

語言基礎

Java:掌握javase知識,多理解和實踐在Java虛擬機的內存管理、以及多線程、線程池、設計模式、並行化就可以,不需要深入掌握。

Linux:系統安裝(命令行界面和圖形界面)、基本命令、網絡配置、Vim編輯器、進程管理、Shell腳本、虛擬機的菜單熟悉等等。

Python:基礎語法,數據結構,函數,條件判斷,循環等基礎知識。

 

環境準備

這裏介紹在windows電腦搭建完全分佈式,1主2從。

VMware虛擬機、Linux系統(Centos6.5)、Hadoop安裝包,這裏準備好Hadoop完全分佈式集羣環境。

 

MapReduce

MapReduce分佈式離線計算框架,是Hadoop核心編程模型。主要適用於大批量的集羣任務,由於是批量執行,故時效性偏低。

 

HDFS1.0/2.0

Hadoop分佈式文件系統(HDFS)是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的數據訪問,非常適合大規模數據集上的應用。

 

Yarn(Hadoop2.0)

前期瞭解即可,Yarn是一個資源調度平臺,主要負責給任務分配資源。Yarn是一個公共的資源調度平臺,所有滿足條件的框架都可以使用Yarn來進行資源調度。

 

Hive

Hive是一個數據倉庫,所有的數據都是存儲在HDFS上的。使用Hive主要是寫Hql,非常類似於Mysql數據庫的Sql。其實Hive在執行Hql,底層在執行的時候還是執行的MapRedce程序。

 

Spark

Spark 是專爲大規模數據處理而設計的快速通用的計算引擎,其是基於內存的迭代式計算。Spark 保留了MapReduce 的優點,而且在時效性上有了很大提高。

 

Spark Streaming

Spark Streaming是實時處理框架,數據是一批一批的處理。

 

Spark Hive

基於Spark的快速Sql檢索。Spark作爲Hive的計算引擎,將Hive的查詢作爲Spark的任務提交到Spark集羣上進行計算,可以提高Hive查詢的性能。

 

Storm

Storm是一個實時計算框架,和MR的區別就是,MR是對離線的海量數據進行處理,而Storm是對實時新增的每一條數據進行處理,是一條一條的處理,可以保證數據處理的時效性。

 

Zookeeper

Zookeeper是很多大數據框架的基礎,它是集羣的管理者。監視着集羣中各個節點的狀態根據節點提交的反饋進行下一步合理操作。

最終,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶

 

Hbase

Hbase是一個Nosql 數據庫,是一個Key-Value類型的數據庫,是高可靠、面向列的、可伸縮的、分佈式的數據庫。

適用於非結構化的數據存儲,底層的數據存儲在HDFS上。

 

Kafka

kafka是一個消息中間件,在工作中常用於實時處理的場景中,作爲一箇中間緩衝層。

 

Flume

Flume是一個日誌採集工具,常見的就是採集應用產生的日誌文件中的數據,一般有兩個流程。

一個是Flume採集數據存儲到Kafka中,方便Storm或者SparkStreaming進行實時處理。

另一個流程是Flume採集的數據存儲到HDFS上,爲了後期使用hadoop或者spark進行離線處理。

 

第二階段:數據挖掘算法

中文分詞

開源分詞庫的離線和在線應用

自然語言處理

文本相關性算法

推薦算法

基於CB、CF,歸一法,Mahout應用。

分類算法

NB、SVM

迴歸算法

LR、Decision Tree

聚類算法

層次聚類、Kmeans

神經網絡與深度學習

NN、Tensorflow

 

以上就是學習Hadoop開發的一個詳細路線,鑑於篇幅原因只列舉和解釋了框架作用。

學習完第一階段的知識,已經可以從事大數據架構相關的工作,可以在企業中負責某些或某個的開發與維護工作。

學習完第二階段的知識,可以從事數據挖掘相關的工作,這也是目前進入大數據行業含金量最高的工作。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章