最新Hadoop大數(shù)據(jù)開發(fā)學(xué)習(xí)路線圖
大數(shù)據(jù)市場(chǎng)觀察關(guān)注
2021.06.01 20:50:27字?jǐn)?shù) 1,500閱讀 333
Hadoop發(fā)展到今天家族產(chǎn)品已經(jīng)非常豐富路呜,能夠滿足不同場(chǎng)景的大數(shù)據(jù)處理需求等浊。
作為目前主流的大數(shù)據(jù)處理技術(shù),市場(chǎng)上很多公司的大數(shù)據(jù)業(yè)務(wù)都是基于Hadoop開展好芭,而且對(duì)很多場(chǎng)景已經(jīng)具有非常成熟的解決方案删咱。
作為開發(fā)人員掌握Hadoop及其生態(tài)內(nèi)框架的開發(fā)技術(shù),就是進(jìn)入大數(shù)據(jù)領(lǐng)域的必經(jīng)之路。
下面詳細(xì)介紹一下模庐,學(xué)習(xí)Hadoop開發(fā)技術(shù)的路線圖。
Hadoop本身是用java開發(fā)的油宜,所以對(duì)java的支持性非常好掂碱,但也可以使用其他語言。
下面的技術(shù)路線側(cè)重?cái)?shù)據(jù)挖掘方向慎冤,因?yàn)镻ython開發(fā)效率較高所以我們使用Python來進(jìn)行任務(wù)疼燥。
因?yàn)镠adoop是運(yùn)行在Linux系統(tǒng)上的,所以還需要掌握Linux的知識(shí)蚁堤。
第一階段:Hadoop生態(tài)架構(gòu)技術(shù)
1醉者、語言基礎(chǔ)
Java:掌握javase知識(shí),多理解和實(shí)踐在Java虛擬機(jī)的內(nèi)存管理披诗、以及多線程撬即、線程池、設(shè)計(jì)模式呈队、并行化就可以剥槐,不需要深入掌握。
Linux:系統(tǒng)安裝(命令行界面和圖形界面)宪摧、基本命令粒竖、網(wǎng)絡(luò)配置、Vim編輯器几于、進(jìn)程管理温圆、Shell腳本、虛擬機(jī)的菜單熟悉等等孩革。
Python:基礎(chǔ)語法岁歉,數(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ù)訪問捡需,非常適合大規(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來進(jìn)行資源調(diào)度。
6薛匪、Hive
Hive是一個(gè)數(shù)據(jù)倉庫捐川,所有的數(shù)據(jù)都是存儲(chǔ)在HDFS上的。使用Hive主要是寫Hql逸尖,非常類似于Mysql數(shù)據(jù)庫的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ù)庫脑又,是一個(gè)Key-Value類型的數(shù)據(jù)庫暮胧,是高可靠、面向列的问麸、可伸縮的往衷、分布式的數(shù)據(jù)庫,適用于非結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)严卖,底層的數(shù)據(jù)存儲(chǔ)在HDFS上席舍。
13、Kafka
kafka是一個(gè)消息中間件哮笆,在工作中常用于實(shí)時(shí)處理的場(chǎng)景中来颤,作為一個(gè)中間緩沖層。
14稠肘、Flume
Flume是一個(gè)日志采集工具福铅,常見的就是采集應(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、中文分詞
開源分詞庫的離線和在線應(yīng)用
2薯演、自然語言處理
文本相關(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開發(fā)的一個(gè)詳細(xì)路線喉脖,鑒于篇幅原因只列舉和解釋了框架作用
學(xué)習(xí)完第一階段的知識(shí),已經(jīng)可以從事大數(shù)據(jù)架構(gòu)相關(guān)的工作抑月,可以在企業(yè)中負(fù)責(zé)某些或某個(gè)的開發(fā)與維護(hù)工作树叽。
學(xué)習(xí)完第二階段的知識(shí),可以從事數(shù)據(jù)挖掘相關(guān)的工作谦絮,這也是目前進(jìn)入大數(shù)據(jù)行業(yè)含金量最高的工作题诵。
喜歡加關(guān)注??,一起進(jìn)步层皱!