2018年最新Hadoop大數(shù)據(jù)開(kāi)發(fā)學(xué)習(xí)路線圖

Hadoop發(fā)展到今天家族產(chǎn)品已經(jīng)非常豐富,能夠滿足不同場(chǎng)景的大數(shù)據(jù)處理需求。作為目前主流的大數(shù)據(jù)處理技術(shù),市場(chǎng)上很多公司的大數(shù)據(jù)業(yè)務(wù)都是基于Hadoop開(kāi)展,而且對(duì)很多場(chǎng)景已經(jīng)具有非常成熟的解決方案。

作為開(kāi)發(fā)人員掌握Hadoop及其生態(tài)內(nèi)框架的開(kāi)發(fā)技術(shù),就是進(jìn)入大數(shù)據(jù)領(lǐng)域的必經(jīng)之路。


下面詳細(xì)介紹一下,學(xué)習(xí)Hadoop開(kāi)發(fā)技術(shù)的路線圖。

Hadoop本身是用java開(kāi)發(fā)的,所以對(duì)java的支持性非常好,但也可以使用其他語(yǔ)言。

下面的技術(shù)路線側(cè)重?cái)?shù)據(jù)挖掘方向,因?yàn)镻ython開(kāi)發(fā)效率較高所以我們使用Python來(lái)進(jìn)行任務(wù)。

因?yàn)镠adoop是運(yùn)行在Linux系統(tǒng)上的,所以還需要掌握Linux的知識(shí)。


第一階段:Hadoop生態(tài)架構(gòu)技術(shù)


1、語(yǔ)言基礎(chǔ)

Java:掌握javase知識(shí),多理解和實(shí)踐在Java虛擬機(jī)的內(nèi)存管理、以及多線程、線程池、設(shè)計(jì)模式、并行化就可以,不需要深入掌握。

Linux:系統(tǒng)安裝(命令行界面和圖形界面)、基本命令、網(wǎng)絡(luò)配置、Vim編輯器、進(jìn)程管理、Shell腳本、虛擬機(jī)的菜單熟悉等等。

Python:基礎(chǔ)語(yǔ)法,數(shù)據(jù)結(jié)構(gòu),函數(shù),條件判斷,循環(huán)等基礎(chǔ)知識(shí)。


2、環(huán)境準(zhǔn)備

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

VMware虛擬機(jī)、Linux系統(tǒng)(Centos6.5)、Hadoop安裝包,這里準(zhǔn)備好Hadoop完全分布式集群環(huán)境。


3、MapReduce

MapReduce分布式離線計(jì)算框架,是Hadoop核心編程模型。主要適用于大批量的集群任務(wù),由于是批量執(zhí)行,故時(shí)效性偏低。


4、HDFS1.0/2.0

Hadoop分布式文件系統(tǒng)(HDFS)是一個(gè)高度容錯(cuò)性的系統(tǒng),適合部署在廉價(jià)的機(jī)器上。HDFS能提供高吞吐量的數(shù)據(jù)訪問(wèn),非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用。


5、Yarn(Hadoop2.0)

前期了解即可,Yarn是一個(gè)資源調(diào)度平臺(tái),主要負(fù)責(zé)給任務(wù)分配資源。Yarn是一個(gè)公共的資源調(diào)度平臺(tái),所有滿足條件的框架都可以使用Yarn來(lái)進(jìn)行資源調(diào)度。


6、Hive

Hive是一個(gè)數(shù)據(jù)倉(cāng)庫(kù),所有的數(shù)據(jù)都是存儲(chǔ)在HDFS上的。使用Hive主要是寫Hql,非常類似于Mysql數(shù)據(jù)庫(kù)的Sql。其實(shí)Hive在執(zhí)行Hql,底層在執(zhí)行的時(shí)候還是執(zhí)行的MapRedce程序。


7、Spark

Spark 是專為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速通用的計(jì)算引擎,其是基于內(nèi)存的迭代式計(jì)算。Spark 保留了MapReduce 的優(yōu)點(diǎn),而且在時(shí)效性上有了很大提高。


8、Spark Streaming

Spark Streaming是實(shí)時(shí)處理框架,數(shù)據(jù)是一批一批的處理。


9、Spark Hive

基于Spark的快速Sql檢索。Spark作為Hive的計(jì)算引擎,將Hive的查詢作為Spark的任務(wù)提交到Spark集群上進(jìn)行計(jì)算,可以提高Hive查詢的性能。


10、Storm

Storm是一個(gè)實(shí)時(shí)計(jì)算框架,和MR的區(qū)別就是,MR是對(duì)離線的海量數(shù)據(jù)進(jìn)行處理,而Storm是對(duì)實(shí)時(shí)新增的每一條數(shù)據(jù)進(jìn)行處理,是一條一條的處理,可以保證數(shù)據(jù)處理的時(shí)效性。


11、Zookeeper

Zookeeper是很多大數(shù)據(jù)框架的基礎(chǔ),它是集群的管理者。監(jiān)視著集群中各個(gè)節(jié)點(diǎn)的狀態(tài)根據(jù)節(jié)點(diǎn)提交的反饋進(jìn)行下一步合理操作。

最終,將簡(jiǎn)單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶


12、Hbase

Hbase是一個(gè)Nosql 數(shù)據(jù)庫(kù),是一個(gè)Key-Value類型的數(shù)據(jù)庫(kù),是高可靠、面向列的、可伸縮的、分布式的數(shù)據(jù)庫(kù)。

適用于非結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ),底層的數(shù)據(jù)存儲(chǔ)在HDFS上。


13、Kafka

kafka是一個(gè)消息中間件,在工作中常用于實(shí)時(shí)處理的場(chǎng)景中,作為一個(gè)中間緩沖層。


14、Flume

Flume是一個(gè)日志采集工具,常見(jiàn)的就是采集應(yīng)用產(chǎn)生的日志文件中的數(shù)據(jù),一般有兩個(gè)流程。

一個(gè)是Flume采集數(shù)據(jù)存儲(chǔ)到Kafka中,方便Storm或者SparkStreaming進(jìn)行實(shí)時(shí)處理。

另一個(gè)流程是Flume采集的數(shù)據(jù)存儲(chǔ)到HDFS上,為了后期使用hadoop或者spark進(jìn)行離線處理。


第二階段:數(shù)據(jù)挖掘算法


1、中文分詞

開(kāi)源分詞庫(kù)的離線和在線應(yīng)用

2、自然語(yǔ)言處理

文本相關(guān)性算法

3、推薦算法

基于CB、CF,歸一法,Mahout應(yīng)用。

4、分類算法

NB、SVM

5、回歸算法

LR、Decision Tree

6、聚類算法

層次聚類、Kmeans

7、神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)

NN、Tensorflow


以上就是學(xué)習(xí)Hadoop開(kāi)發(fā)的一個(gè)詳細(xì)路線,鑒于篇幅原因只列舉和解釋了框架作用,如果需要了解具體框架的開(kāi)發(fā)技術(shù),可以百度搜索八斗學(xué)院大綱,詳細(xì)了解。

學(xué)習(xí)完第一階段的知識(shí),已經(jīng)可以從事大數(shù)據(jù)架構(gòu)相關(guān)的工作,可以在企業(yè)中負(fù)責(zé)某些或某個(gè)的開(kāi)發(fā)與維護(hù)工作。

學(xué)習(xí)完第二階段的知識(shí),可以從事數(shù)據(jù)挖掘相關(guān)的工作,這也是目前進(jìn)入大數(shù)據(jù)行業(yè)含金量最高的工作。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容