版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章大數(shù)據(jù)技術(shù)基礎(chǔ)目
錄2.1
大數(shù)據(jù)分布式文件系統(tǒng)2.2
分布式數(shù)據(jù)庫(kù)系統(tǒng)HBase2.3
大數(shù)據(jù)分布式數(shù)據(jù)倉(cāng)庫(kù)2.1大數(shù)據(jù)
分布式文件系統(tǒng)2.1大數(shù)據(jù)分布式文件系統(tǒng)
2.1.1數(shù)據(jù)管理技術(shù)的發(fā)展
數(shù)據(jù)管理技術(shù)從誕生到現(xiàn)在,經(jīng)過(guò)不斷演變和發(fā)展,如今已經(jīng)有了一套成熟的理論體系和成熟的產(chǎn)業(yè)環(huán)境,引領(lǐng)了計(jì)算機(jī)科學(xué)的快速發(fā)展并帶來(lái)了巨大的經(jīng)濟(jì)效益,先后經(jīng)歷了4個(gè)階段。
1.文件系統(tǒng)階段
在出現(xiàn)了可以長(zhǎng)期保存數(shù)據(jù)的外存儲(chǔ)器后,數(shù)據(jù)的存取已成為計(jì)算機(jī)的主要功能之一,操作系統(tǒng)中也出現(xiàn)了用于文件管理的相應(yīng)軟件,這一階段存取數(shù)據(jù)的方式稱為文件系統(tǒng)。
文件系統(tǒng)在數(shù)據(jù)管理上有一定的優(yōu)點(diǎn),但它仍存在一些缺點(diǎn),主要表現(xiàn)在數(shù)據(jù)的共享性差,冗余度高;數(shù)據(jù)的獨(dú)立性不足;并發(fā)訪問(wèn)容易產(chǎn)生異常;數(shù)據(jù)的安全控制難以實(shí)現(xiàn)等4個(gè)方面。2.數(shù)據(jù)庫(kù)系統(tǒng)階段
為了克服文件系統(tǒng)的缺點(diǎn),人們研究、設(shè)計(jì)一種新的、面向整個(gè)企業(yè)(組織)或整個(gè)應(yīng)用的數(shù)據(jù)存取和管理方式,進(jìn)入數(shù)據(jù)庫(kù)系統(tǒng)階段,數(shù)據(jù)庫(kù)系統(tǒng)最主要的特點(diǎn)是共享性。
簡(jiǎn)單來(lái)說(shuō),數(shù)據(jù)庫(kù)就是存儲(chǔ)在計(jì)算機(jī)的外存中有組織(格式或模型)的、大量的、共享的數(shù)據(jù)集合。目前,使用最廣泛的是關(guān)系型數(shù)據(jù)庫(kù),其特點(diǎn)是可以供各種用戶共享,具有最小冗余度和較高的數(shù)據(jù)獨(dú)立性。
數(shù)據(jù)庫(kù)技術(shù)的出現(xiàn),改變了人們利用計(jì)算機(jī)進(jìn)行數(shù)據(jù)存儲(chǔ)和管理的思維方式,從以程序?yàn)橹行?,轉(zhuǎn)向到以數(shù)據(jù)庫(kù)(能夠?qū)崿F(xiàn)數(shù)據(jù)共享的)為中心,從而提出了利用數(shù)據(jù)進(jìn)行決策的思想。
2.1.1數(shù)據(jù)管理技術(shù)的發(fā)展
3.數(shù)據(jù)倉(cāng)庫(kù)階段
數(shù)據(jù)倉(cāng)庫(kù)是基于計(jì)算機(jī)技術(shù)的快速發(fā)展和大數(shù)據(jù)時(shí)代下企業(yè)的需求而提出的,絕大多數(shù)數(shù)據(jù)倉(cāng)庫(kù)的建設(shè)是為了進(jìn)行數(shù)據(jù)分析與挖掘,而且基本是基于關(guān)系數(shù)據(jù)庫(kù)與多維數(shù)據(jù)庫(kù)建立的。
2.1.1數(shù)據(jù)管理技術(shù)的發(fā)展4.分布式系統(tǒng)階段
傳統(tǒng)的網(wǎng)絡(luò)文件系統(tǒng)(NFS)雖然也是分布式的,但是在數(shù)據(jù)的存儲(chǔ)和管理上,存在一些致命的缺點(diǎn)。一是數(shù)據(jù)的存取單位是文件,文件是存儲(chǔ)在單機(jī)上,數(shù)據(jù)的共享性差。二是當(dāng)很多客戶端同時(shí)訪問(wèn)NFS服務(wù)器時(shí),對(duì)網(wǎng)絡(luò)的壓力大,且對(duì)服務(wù)器的處理能力要求高,極易產(chǎn)生瓶頸效應(yīng)。三是對(duì)數(shù)據(jù)的操作,需先將數(shù)據(jù)下載到本地,很難保證數(shù)據(jù)的一致性。
分布式系統(tǒng)是建立在網(wǎng)絡(luò)之上的軟件系統(tǒng),具有高度的內(nèi)聚性和透明性。內(nèi)聚性是指每一個(gè)數(shù)據(jù)庫(kù)分布節(jié)點(diǎn)高度自治;透明性是指每一個(gè)數(shù)據(jù)庫(kù)分布節(jié)點(diǎn)對(duì)用戶的應(yīng)用來(lái)說(shuō)都是透明的。根據(jù)分布存儲(chǔ)和管理的對(duì)象,分布式系統(tǒng)分為分布式文件系統(tǒng)和分布式數(shù)據(jù)庫(kù)系統(tǒng)兩類。
2.1.1數(shù)據(jù)管理技術(shù)的發(fā)展HDFS(HadoopDistributedFileSystem)是一個(gè)基于Hadoop框架的分布式文件系統(tǒng),具有高度容錯(cuò)性,適合部署在廉價(jià)的機(jī)器上。HDFS能提高吞吐量的數(shù)據(jù)訪問(wèn),適合處理有著超大數(shù)據(jù)集的應(yīng)用程序。HDFS有以下幾個(gè)基本要素。
1.Block(數(shù)據(jù)塊)
Block是HDFS中的基本存儲(chǔ)單位,Hadoop架構(gòu)下塊的默認(rèn)大小為64MB。每一個(gè)Block對(duì)應(yīng)一個(gè)或多個(gè)Map的任務(wù)。
2.NameNode(名稱節(jié)點(diǎn))
NameNode維護(hù)HDFS存儲(chǔ)文件數(shù)據(jù)的元信息,處理來(lái)自客戶端對(duì)HDFS的各種操作的交互反饋。存儲(chǔ)鏡像(namespaceimage)文件和編輯日志(editlog)文件,這兩個(gè)文件也會(huì)被持久化存儲(chǔ)在本地硬盤。2.1.2HDFS概述3.SecondaryNameNode(從元數(shù)據(jù)節(jié)點(diǎn))
SecondaryNameNode周期性保存NameNode的元數(shù)據(jù)檢查點(diǎn),這些元數(shù)據(jù)包括鏡像文件FsImage數(shù)據(jù)和編輯日志editlog數(shù)據(jù)。如果NameNode節(jié)點(diǎn)故障,在NameNode下次啟動(dòng)時(shí),會(huì)把FsImage加載到存中。
4.DateNode(數(shù)據(jù)節(jié)點(diǎn))
DateNode是文件系統(tǒng)的工作節(jié)點(diǎn),根據(jù)客戶端或是NameNode的調(diào)度存儲(chǔ)和檢索數(shù)據(jù)。定期向NameNode發(fā)送所存儲(chǔ)的塊的列表。DataNode啟動(dòng)時(shí)會(huì)向NameNode報(bào)告當(dāng)前存儲(chǔ)的數(shù)據(jù)塊信息,后續(xù)也會(huì)定時(shí)報(bào)告修改信息。DataNode之間會(huì)進(jìn)行通信,復(fù)制數(shù)據(jù)塊,默認(rèn)3份,保證數(shù)據(jù)的冗余性。2.1.2HDFS概述5.NodeManager(節(jié)點(diǎn)管理程序)
NodeManager對(duì)它所在節(jié)點(diǎn)上的資源進(jìn)行管理(CPU、內(nèi)存、磁盤的利用情況)。定期向ResourceManager匯報(bào)該節(jié)點(diǎn)上的資源利用信息。監(jiān)督Container(容器)的生命周期。監(jiān)控每個(gè)Container的資源使用情況。追蹤節(jié)點(diǎn)健康狀況,管理日志和不同應(yīng)用程序用到的附屬服務(wù)(AuxiliaryService)。
6.ResourceManager(資源管理程序)
ResourceManager負(fù)責(zé)集群中所有資源的統(tǒng)一管理和分配。接收來(lái)自各個(gè)節(jié)點(diǎn)管理程序(NodeManager)的資源匯報(bào)信息,并把這些信息按照一定的策略分配給各個(gè)應(yīng)用程療(實(shí)際上是ApplicationManager)。2.1.2HDFS概述1.優(yōu)點(diǎn)(1)高容錯(cuò)性(2)適合批處理(3)適合大數(shù)據(jù)處理(4)可構(gòu)建在廉價(jià)機(jī)器上
2.缺點(diǎn)(1)低延遲數(shù)據(jù)訪問(wèn),比如毫秒級(jí),低延遲與高吞吐率。(2)小文件存取,占用NameNode大量?jī)?nèi)存,尋道時(shí)間超過(guò)讀取時(shí)間。(3)并發(fā)寫入、文件隨機(jī)修改,一個(gè)文件只能有一個(gè)寫者,僅支持append。2.1.3HDFS特點(diǎn)1.HDFS設(shè)計(jì)目標(biāo)(1)存儲(chǔ)非常大的文件
HDFS存儲(chǔ)數(shù)據(jù)至少是幾百M(fèi)、G、或者TB級(jí)別。實(shí)際應(yīng)用中已有很多集群存儲(chǔ)的數(shù)據(jù)達(dá)到PB級(jí)別。(2)采用流式的數(shù)據(jù)訪問(wèn)方式
在HDFS中,應(yīng)用程序?qū)?shù)據(jù)的訪問(wèn)采用批量出方式,而不是采用交互式的處理。(3)運(yùn)行于商業(yè)硬件上
Hadoop的個(gè)設(shè)計(jì)目標(biāo)是盡量降低系統(tǒng)的硬件成本,不需要運(yùn)行在專用的、高可靠性的機(jī)器上,可運(yùn)行于普通商用機(jī)器(可以從多家供應(yīng)商采購(gòu))。2.1.4HDFS工作原理2.1.4HDFS工作原理
HDFS采用了主從(Master/Slaves)結(jié)構(gòu)模型,一個(gè)HDFS集群包括一個(gè)NameNode和若干DataNode(如圖2-1所示)。NameNode作為中心服務(wù)器,負(fù)責(zé)管理文件系統(tǒng)的命名空間及客戶端對(duì)文件的訪問(wèn),集群中的DataNode一般是一個(gè)節(jié)點(diǎn),運(yùn)行一個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)程,負(fù)責(zé)處理文件系統(tǒng)客戶端的讀/寫請(qǐng)求,在NameNode的統(tǒng)一調(diào)度下進(jìn)行數(shù)據(jù)塊的創(chuàng)建、刪除和復(fù)制等操作。每個(gè)DataNode的數(shù)據(jù)實(shí)際上是保存在本地Linux文件系統(tǒng)中的。每個(gè)DataNode會(huì)周期性地向NameNode發(fā)送“心跳”信息,報(bào)告自己的狀態(tài),沒(méi)有按時(shí)發(fā)送心跳信息的DataNode會(huì)被標(biāo)記為Dead。不會(huì)再給它分配任何讀/寫請(qǐng)求。2.HDFS體系架構(gòu)2.1.4HDFS工作原理
2.1.5HDFS的讀/寫數(shù)據(jù)流程
1.讀數(shù)據(jù)流程
HDFS可以直接使用FileSystem操作讀取數(shù)據(jù),或者使用URL來(lái)讀取數(shù)據(jù)。下面以采用FileSystem方式介紹度數(shù)據(jù)的流程,如下圖所示。2.1.4HDFS工作原理
2.1.5HDFS的讀/寫數(shù)據(jù)流程
2.寫數(shù)據(jù)流程
在HDFS中,通過(guò)使用FileSystem類的create方法進(jìn)行寫數(shù)據(jù)操作。create方法返回一個(gè)輸出流(FSDataOutputStream),使用輸出流的getPos方法查看當(dāng)前文件的位移,但是不能進(jìn)行seek操作,HDFS僅支持追加操作。寫數(shù)據(jù)的流程如圖所示。2.1.4HDFS工作原理2.2分布式數(shù)據(jù)庫(kù)系統(tǒng)HBase2.2分布式數(shù)據(jù)庫(kù)系統(tǒng)HBase
2.2.1分布式關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)的缺陷
在進(jìn)入大數(shù)據(jù)時(shí)代后,集中式的數(shù)據(jù)存儲(chǔ)逐漸被分布式的數(shù)據(jù)存儲(chǔ)取代,而分布式的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)卻難以適應(yīng)大數(shù)據(jù)時(shí)代的要求,主要的原因有以下幾點(diǎn):
1.規(guī)模效應(yīng)帶來(lái)的壓力
大數(shù)據(jù)時(shí)代,任何機(jī)型的單獨(dú)一臺(tái)計(jì)算機(jī)都很難滿足大規(guī)模數(shù)據(jù)量的存儲(chǔ)和管理。
2.數(shù)據(jù)類型的多樣性和低價(jià)值密度性
大數(shù)據(jù)時(shí)代下的數(shù)據(jù)形式是多樣的,且對(duì)數(shù)據(jù)的數(shù)量要求遠(yuǎn)大于對(duì)數(shù)據(jù)精度(質(zhì)量)的要求,關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)很難滿足這些挑戰(zhàn)。
3.設(shè)計(jì)理念的沖突
大數(shù)據(jù)應(yīng)用的一個(gè)主要目的是,事前對(duì)將要發(fā)生的事情的“預(yù)測(cè)”。HBase(HadoopDatabase)是一個(gè)分布式的、面向列的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng),不同于一般的關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù)。另一個(gè)不同的是HBase基于列的而不是基于行的模式。
1.HBase特性(1)容量巨大
HBase的單表可以有百億行、百萬(wàn)列,可以在橫向和縱向兩個(gè)維度插入數(shù)據(jù),具有很大的彈性。當(dāng)關(guān)系型數(shù)據(jù)庫(kù)的單個(gè)表的記錄在億級(jí)時(shí),查詢和寫入的性能都會(huì)呈現(xiàn)指數(shù)級(jí)下降,這種龐大的數(shù)據(jù)量對(duì)傳統(tǒng)數(shù)據(jù)庫(kù)來(lái)說(shuō)是一種災(zāi)難,而HBase在限定某個(gè)列的情況下對(duì)于單表存儲(chǔ)百億甚至更多的數(shù)據(jù)都沒(méi)有性能問(wèn)題。2.2.2HBase簡(jiǎn)介1.HBase特性
(2)列存儲(chǔ)
HBase是面向列的存儲(chǔ)和權(quán)限控制的,它里面的每個(gè)列是單獨(dú)存儲(chǔ)的,且支持基于列的獨(dú)立檢索。在這種情況下,進(jìn)行數(shù)據(jù)的插入和更新,行存儲(chǔ)會(huì)相對(duì)容易。而進(jìn)行行存儲(chǔ)時(shí),查詢操作需要讀取所有的數(shù)據(jù),列存儲(chǔ)則只需要讀取相關(guān)列,可以大幅降低系統(tǒng)I/O吞吐量。
(3)稀疏性
在HBase中的數(shù)據(jù)都是以字符串形式存儲(chǔ)的,為空的列并不占用存儲(chǔ)空間,因此HBase的列存儲(chǔ)解決了數(shù)據(jù)稀疏性的問(wèn)題,在很大程度上節(jié)省了存儲(chǔ)開(kāi)銷。所以HBase通??梢栽O(shè)計(jì)成稀疏矩陣,同時(shí)這種方式比較接近實(shí)際的應(yīng)用場(chǎng)景。2.2.2HBase簡(jiǎn)介1.HBase特性
(4)擴(kuò)展性強(qiáng)
HBase的擴(kuò)展是橫向的,橫向擴(kuò)展是指在擴(kuò)展時(shí)不需要提升服務(wù)器本身的性能,只需添加服務(wù)器到現(xiàn)有集群即可,并且,HBase的擴(kuò)展是熱擴(kuò)展,即在不停止現(xiàn)有服務(wù)的前提下,可以隨時(shí)添加或者減少節(jié)點(diǎn)。(5)高可靠性
HBase運(yùn)行在HDFS上,HDFS的多副本存儲(chǔ)可以讓它在岀現(xiàn)故障時(shí)自動(dòng)恢復(fù),同時(shí)HBase內(nèi)部也提供WAL和Replication機(jī)制。WAL(Write-Ahead-Log)預(yù)寫日志是在HBase服務(wù)器處理數(shù)據(jù)插入和刪除的過(guò)程中用來(lái)記錄操作內(nèi)容的日志,保證了數(shù)據(jù)寫入時(shí)不會(huì)因集群異常而導(dǎo)致寫入數(shù)據(jù)的丟失。2.2.2HBase簡(jiǎn)介
2.HBase與傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)的區(qū)別(1)數(shù)據(jù)類型
HBase則采用了更加簡(jiǎn)單的數(shù)據(jù)模型,把描述每一行(記錄)的數(shù)據(jù)轉(zhuǎn)化為未經(jīng)解釋的字符串進(jìn)行統(tǒng)一存儲(chǔ)。(2)數(shù)據(jù)操作
HBase只有針對(duì)“行”的簡(jiǎn)單操作,如插入、查詢、刪除、清空等,不包含存在復(fù)雜的表與表之間的關(guān)系操作,淡化了復(fù)雜的表和表之間的關(guān)系。(3)存儲(chǔ)模式
HBase是基于列存儲(chǔ)的,每個(gè)列族都由幾個(gè)文件保存,不同列族的文件是分離的,也就是說(shuō),一行(記錄或?qū)ο螅┑臄?shù)據(jù)可能存儲(chǔ)在多個(gè)數(shù)據(jù)文件中。2.2.2HBase簡(jiǎn)介
2.HBase與傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)的區(qū)別(4)數(shù)據(jù)索引HBase只有一個(gè)索引——行鍵,通過(guò)巧妙的設(shè)計(jì),HBase中的所有訪問(wèn)方法,或者通過(guò)行鍵訪問(wèn),或者通過(guò)行鍵掃描,這樣雖然會(huì)使數(shù)據(jù)訪問(wèn)變慢,但其它操作卻更加簡(jiǎn)單,如插入、刪除等。(5)數(shù)據(jù)維護(hù)HBase在執(zhí)行更新操作時(shí),并不會(huì)刪除舊版本的數(shù)據(jù),而是生成一個(gè)新的版本,原來(lái)舊版本的數(shù)據(jù)仍然保留。這樣設(shè)計(jì)的考慮主要是,舊版本的數(shù)據(jù)也蘊(yùn)含著信息,也是有價(jià)值。(6)可伸縮性HBase在增加集群中節(jié)點(diǎn)的數(shù)量或擴(kuò)展存儲(chǔ)空間,都是非常輕而易舉的事情,且在這一過(guò)程中,并不中斷系統(tǒng)的應(yīng)用。所以,分布式數(shù)據(jù)庫(kù)系統(tǒng)HBase,比分布式關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)具有更高的可伸縮性。2.2.2HBase簡(jiǎn)介HBase是一個(gè)稀疏的、長(zhǎng)期存儲(chǔ)的、多維度的、排序的映射表。這張表的索引是行鍵、列(列族:列限定符)和時(shí)間戳。HBase的數(shù)據(jù)都是字符串,沒(méi)有類型。1.HBase的關(guān)鍵要素
(1)表
HBase采用表(table)來(lái)組織數(shù)據(jù),有時(shí)為了與關(guān)系數(shù)據(jù)庫(kù)的表相區(qū)分稱為Bigtable。表同樣由行和列組成,列被劃分為若干列族。(2)行
每個(gè)HBase表都由若干行(row)組成,每個(gè)行由行鍵(rowkey)來(lái)標(biāo)識(shí)。可以通過(guò)全表掃描、單個(gè)行鍵或一個(gè)行鍵的區(qū)域3種方式來(lái)訪問(wèn)表中的行。2.2.3HBase的數(shù)據(jù)模型關(guān)鍵要素1.HBase的關(guān)鍵要素(3)列族
一個(gè)HBase表被分組成許多“列族”(columnfamily)的集合,它是基本的訪問(wèn)控制單元。列族需要在表創(chuàng)建時(shí)進(jìn)行定義。(4)列限定符列限定符(columnqualifier)是列族中數(shù)據(jù)的列索引,列族里的數(shù)據(jù)通過(guò)列限定符(或列)來(lái)定位。列限定符沒(méi)有數(shù)據(jù)類型,一般被視為字節(jié)數(shù)組Byte[]。(5)單元格在HBase表中,通過(guò)行,列族和列限定符和時(shí)間戳或版本來(lái)確定一個(gè)“單元格(cell)。一個(gè)單元格中可以保存同一份數(shù)據(jù)的多個(gè)版本。(6)時(shí)間戳每個(gè)單元格都保存著同一份數(shù)據(jù)的多個(gè)版本,采用時(shí)間戳(timestamp)進(jìn)行索引。2.2.3HBase的數(shù)據(jù)模型關(guān)鍵要素2.HBase的邏輯模型
以一張用來(lái)存儲(chǔ)學(xué)生信息的HBase表為例,學(xué)號(hào)作為行鍵唯一標(biāo)識(shí)每學(xué)生。表中存有兩組數(shù)據(jù):學(xué)生李明,學(xué)號(hào)1001,英語(yǔ)成績(jī)100分,數(shù)學(xué)成績(jī)80分;學(xué)生張三,學(xué)號(hào)1002,英語(yǔ)成績(jī)100分,數(shù)學(xué)成績(jī)90分。表中的數(shù)據(jù)通過(guò)一個(gè)行鍵、一個(gè)列族和列限定符進(jìn)行索引和查詢定位。即通過(guò){rowkey,columnfamily,timestamp}可以唯一確定一個(gè)存儲(chǔ)值,即一個(gè)鍵值對(duì):{rowkey,columnfamily,timestamp}→value2.2.3HBase的數(shù)據(jù)模型關(guān)鍵要素2.HBase的邏輯模型
表2-2HBase數(shù)據(jù)邏輯模型--學(xué)生表行鍵列族“Sname”列族“course”時(shí)間戳valueMathEnglish1001
course:math
t380
Course:Englisht2100Sname
t1LiMing1002
course:math
t690
Course:Englisht5100Sname
t4ZhangSan2.2.3HBase的數(shù)據(jù)模型關(guān)鍵要素3.HBase的物理模型
表2-3HBase數(shù)據(jù)物理模型--學(xué)生表列族行鍵列限定符時(shí)間戳valueSname1001Snamet1LiMing1002Snamet4ZhangSanCourse1001matht380Englisht21001002matht690Englisht51002.2.3HBase的數(shù)據(jù)模型關(guān)鍵要素HBase和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)(如MySQL)在數(shù)據(jù)模型上有何不同?在處理大規(guī)模數(shù)據(jù)集時(shí),HBase相比關(guān)系型數(shù)據(jù)庫(kù)有哪些優(yōu)勢(shì)?HBase采用主/從(Master/Slave)架構(gòu)搭建集群,由一個(gè)主服務(wù)器(HMaster)節(jié)點(diǎn)、若干個(gè)區(qū)域服務(wù)器(HRegionServer)節(jié)點(diǎn)、一個(gè)分布式協(xié)調(diào)器(ZooKeeper)組成的集群,而在底層,它將數(shù)據(jù)存儲(chǔ)于HDFS中,也可以將底層的存儲(chǔ)配置為AzureBlobStorage(用來(lái)存放大量的像文本、圖片、視頻等非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)服務(wù))或AmazonWebServices(亞馬遜云計(jì)算服務(wù))。1.ClientHBase客戶端,包含訪問(wèn)hbase的接口。使用HBase的RPC機(jī)制與HMaster和HRegionServer進(jìn)行通信。2.ZookeeperZooKeeper是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。2.2.4HBase的體系結(jié)構(gòu)3.HMaster是HBase集群中的主服務(wù)器,負(fù)責(zé)監(jiān)控集群中的所有RegionServer,并且是所有元數(shù)據(jù)更改的接口。4.HRegionServer是HBase集群中的區(qū)域服務(wù)器,維護(hù)Master分配給它的Region,處理對(duì)這些Region的I/O請(qǐng)求;并負(fù)責(zé)切分在運(yùn)行過(guò)程中變得過(guò)大的Region。5.Store(HStore)Region是Master分配和管理的最小存儲(chǔ)單元,但并不是最小的物理存儲(chǔ)單元或數(shù)據(jù)讀寫單元。Region由一個(gè)或者多個(gè)Store組成,每個(gè)Store保存一個(gè)列族;6.HLogHBase使用日志(HLog)來(lái)應(yīng)對(duì)突發(fā)情況。HBase要求用戶更新數(shù)據(jù)必須先被記入日志后,才能寫入MemStore緩存,并且直到MemStore緩存內(nèi)容對(duì)應(yīng)的日志已經(jīng)被寫人磁盤后,該緩存內(nèi)容才會(huì)被刷新寫人磁盤。2.2.4HBase的體系結(jié)構(gòu)2.3大數(shù)據(jù)分布式數(shù)據(jù)倉(cāng)庫(kù)2.3.1數(shù)據(jù)倉(cāng)庫(kù)的特點(diǎn)1.效率足夠高由于各種數(shù)據(jù)分析技術(shù)對(duì)數(shù)據(jù)源和分析結(jié)果都有嚴(yán)格的時(shí)間要求,日是最基本的時(shí)間周期,有時(shí)甚至以小時(shí)或更短的時(shí)間單位為周期,例如,大家最熟悉的天氣預(yù)報(bào),現(xiàn)在可以做到小時(shí)級(jí)。因此,要求數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)存取以及更新效率足夠高,否則無(wú)法滿足應(yīng)用的需求。2.數(shù)據(jù)質(zhì)量數(shù)據(jù)倉(cāng)庫(kù)的最主要應(yīng)用是為智能決策提供支持,常言道“失之毫厘,謬以千里”。因此,對(duì)數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)的質(zhì)量有嚴(yán)也要求,否則,由于有臟數(shù)據(jù),將導(dǎo)致分析出錯(cuò)誤的結(jié)果,制定出錯(cuò)誤的決策,造成不可挽回的損失。3.擴(kuò)展性由于數(shù)據(jù)分析、挖掘技術(shù)的發(fā)展迅速,且前途無(wú)量,在進(jìn)行數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)架構(gòu)設(shè)計(jì)時(shí),要考慮到了未來(lái)3-5年的擴(kuò)展性。主要體現(xiàn)在數(shù)據(jù)建模的合理性,數(shù)據(jù)倉(cāng)庫(kù)方案中多出一些中間層,使海量數(shù)據(jù)流有足夠的緩沖,不至于數(shù)據(jù)量增加時(shí),系統(tǒng)無(wú)法運(yùn)行。4.面向主題傳統(tǒng)數(shù)據(jù)庫(kù)的數(shù)據(jù)組織是面向事務(wù)處理的,且各個(gè)業(yè)務(wù)系統(tǒng)之間各自分離,而數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是面向一定的主題進(jìn)行組織的。主題是一個(gè)抽象概念,是在較高層次上將企業(yè)信息系統(tǒng)中的數(shù)據(jù)綜合、歸類并進(jìn)行分析利用的一種抽象,每一個(gè)主題對(duì)應(yīng)一個(gè)宏觀的分析領(lǐng)域。數(shù)據(jù)倉(cāng)庫(kù)排除對(duì)于決策無(wú)用的數(shù)據(jù),提供特定主題的簡(jiǎn)明視圖。2.3.1數(shù)據(jù)倉(cāng)庫(kù)的特點(diǎn)1.用戶接口用戶接口主要有三個(gè):CLI,Client和WUI。其中最常用的是CLI,CLI啟動(dòng)的時(shí)候,會(huì)同時(shí)啟動(dòng)一個(gè)Hive副本。Client是Hive的客戶端,用戶連接至HiveServer。在啟動(dòng)Client模式的時(shí)候,需要指出HiveServer所在節(jié)點(diǎn),并且在該節(jié)點(diǎn)啟動(dòng)HiveServer。WUI是通過(guò)瀏覽器訪問(wèn)Hive。2.元數(shù)據(jù)存儲(chǔ)Hive將元數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,如mysql、derby。Hive中的元數(shù)據(jù)包括表的名字,表的列和分區(qū)及其屬性,表的屬性(是否為外部表等),表的數(shù)據(jù)所在目錄等。2.3.2Hive的內(nèi)部架構(gòu)3.底層的DriverHive的核心是驅(qū)動(dòng)引擎,完成HQL查詢語(yǔ)句從詞法分析、語(yǔ)法分析、編譯、優(yōu)化以及查詢計(jì)劃的生成。生成的查詢計(jì)劃存儲(chǔ)在HDFS中,并在隨后由MapReduce調(diào)用執(zhí)行。驅(qū)動(dòng)引擎由四部分組成:(1)解釋器:解釋器的作用是將HiveSQL語(yǔ)句轉(zhuǎn)換為抽象語(yǔ)法樹(shù)(AST)。(2)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園元旦活動(dòng)計(jì)劃8篇
- 2024年版企業(yè)勞動(dòng)協(xié)議參考文本版B版
- 2022幼兒手工教案
- 小區(qū)物業(yè)工作計(jì)劃
- 2024-2030年中國(guó)酚醛樹(shù)脂涂料行業(yè)發(fā)展運(yùn)行現(xiàn)狀及投資潛力預(yù)測(cè)報(bào)告
- 半導(dǎo)體激光治療儀項(xiàng)目可行性分析報(bào)告
- 大班健康活動(dòng)教案四篇
- 大學(xué)班主任工作計(jì)劃
- 美術(shù)教師個(gè)人工作總結(jié)5篇
- 醫(yī)學(xué)類實(shí)習(xí)報(bào)告模板九篇
- 學(xué)前兒童家庭與社區(qū)教育學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 網(wǎng)絡(luò)安全產(chǎn)品質(zhì)保與售后方案
- 2024-2025學(xué)年河北省高三上學(xué)期省級(jí)聯(lián)測(cè)政治試題及答案
- 貴州省貴陽(yáng)市2023-2024學(xué)年高一上學(xué)期期末考試 物理 含解析
- 幼兒園班級(jí)管理中的沖突解決策略研究
- 【7上英YL】蕪湖市2023-2024學(xué)年七年級(jí)上學(xué)期英語(yǔ)期中素質(zhì)教育評(píng)估試卷
- 2024年度中國(guó)鈉離子電池報(bào)告
- 2024年問(wèn)政山東拆遷協(xié)議書模板
- 浪潮iqt在線測(cè)評(píng)題及答案
- 山東省青島市2023-2024學(xué)年高一年級(jí)上冊(cè)1月期末選科測(cè)試 生物 含解析
- 電工技術(shù)(第3版)表格式教案教學(xué)詳案設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論