您好,登錄后才能下訂單哦!
Hadoop發(fā)展到今天家族產(chǎn)品已經(jīng)非常豐富,能夠滿足不同場景的大數(shù)據(jù)處理需求。作為目前主流的大數(shù)據(jù)處理技術(shù),市場上很多公司的大數(shù)據(jù)業(yè)務(wù)都是基于Hadoop開展,而且對很多場景已經(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ā)的,所以對java的支持性非常好,但也可以使用其他語言。
下面的技術(shù)路線側(cè)重?cái)?shù)據(jù)挖掘方向,因?yàn)镻ython開發(fā)效率較高所以我們使用Python來進(jìn)行任務(wù)。
因?yàn)镠adoop是運(yùn)行在Linux系統(tǒng)上的,所以還需要掌握Linux的知識。
第一階段:Hadoop生態(tài)架構(gòu)技術(shù)
語言基礎(chǔ)
Java:掌握javase知識,多理解和實(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ǔ)知識。
環(huán)境準(zhǔn)備
這里介紹在windows電腦搭建完全分布式,1主2從。
VMware虛擬機(jī)、Linux系統(tǒng)(Centos6.5)、Hadoop安裝包,這里準(zhǔn)備好Hadoop完全分布式集群環(huán)境。
MapReduce
MapReduce分布式離線計(jì)算框架,是Hadoop核心編程模型。主要適用于大批量的集群任務(wù),由于是批量執(zhí)行,故時(shí)效性偏低。
HDFS1.0/2.0
Hadoop分布式文件系統(tǒng)(HDFS)是一個(gè)高度容錯(cuò)性的系統(tǒng),適合部署在廉價(jià)的機(jī)器上。HDFS能提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用。
Yarn(Hadoop2.0)
前期了解即可,Yarn是一個(gè)資源調(diào)度平臺,主要負(fù)責(zé)給任務(wù)分配資源。Yarn是一個(gè)公共的資源調(diào)度平臺,所有滿足條件的框架都可以使用Yarn來進(jìn)行資源調(diào)度。
Hive
Hive是一個(gè)數(shù)據(jù)倉庫,所有的數(shù)據(jù)都是存儲在HDFS上的。使用Hive主要是寫Hql,非常類似于Mysql數(shù)據(jù)庫的Sql。其實(shí)Hive在執(zhí)行Hql,底層在執(zhí)行的時(shí)候還是執(zhí)行的MapRedce程序。
Spark
Spark 是專為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速通用的計(jì)算引擎,其是基于內(nèi)存的迭代式計(jì)算。Spark 保留了MapReduce 的優(yōu)點(diǎn),而且在時(shí)效性上有了很大提高。
Spark Streaming
Spark Streaming是實(shí)時(shí)處理框架,數(shù)據(jù)是一批一批的處理。
Spark Hive
基于Spark的快速Sql檢索。Spark作為Hive的計(jì)算引擎,將Hive的查詢作為Spark的任務(wù)提交到Spark集群上進(jìn)行計(jì)算,可以提高Hive查詢的性能。
Storm
Storm是一個(gè)實(shí)時(shí)計(jì)算框架,和MR的區(qū)別就是,MR是對離線的海量數(shù)據(jù)進(jìn)行處理,而Storm是對實(shí)時(shí)新增的每一條數(shù)據(jù)進(jìn)行處理,是一條一條的處理,可以保證數(shù)據(jù)處理的時(shí)效性。
Zookeeper
Zookeeper是很多大數(shù)據(jù)框架的基礎(chǔ),它是集群的管理者。監(jiān)視著集群中各個(gè)節(jié)點(diǎn)的狀態(tài)根據(jù)節(jié)點(diǎn)提交的反饋進(jìn)行下一步合理操作。
最終,將簡單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶
Hbase
Hbase是一個(gè)Nosql 數(shù)據(jù)庫,是一個(gè)Key-Value類型的數(shù)據(jù)庫,是高可靠、面向列的、可伸縮的、分布式的數(shù)據(jù)庫。
適用于非結(jié)構(gòu)化的數(shù)據(jù)存儲,底層的數(shù)據(jù)存儲在HDFS上。
Kafka
kafka是一個(gè)消息中間件,在工作中常用于實(shí)時(shí)處理的場景中,作為一個(gè)中間緩沖層。
Flume
Flume是一個(gè)日志采集工具,常見的就是采集應(yīng)用產(chǎn)生的日志文件中的數(shù)據(jù),一般有兩個(gè)流程。
一個(gè)是Flume采集數(shù)據(jù)存儲到Kafka中,方便Storm或者SparkStreaming進(jìn)行實(shí)時(shí)處理。
另一個(gè)流程是Flume采集的數(shù)據(jù)存儲到HDFS上,為了后期使用hadoop或者spark進(jìn)行離線處理。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。