第十一章大數(shù)據(jù)技術(shù)與實(shí)踐

第十一章大數(shù)據(jù)技術(shù)與實(shí)踐

大數(shù)據(jù)定義

大數(shù)據(jù)的“大”是相對(duì)而言的,是指所處理的數(shù)據(jù)規(guī)模巨大到無(wú)法通過(guò)目前主流數(shù)據(jù)庫(kù)軟件工具,在可以接受的時(shí)間內(nèi)完成抓取、儲(chǔ)存、管理和分析,并從中提取出人類可以理解的信息。

大數(shù)據(jù)4V特征

●Volume(數(shù)據(jù)量大):大數(shù)據(jù)的首要特征,數(shù)據(jù)體量巨大。當(dāng)今世界需要進(jìn)行及時(shí)處理以提取有用信息的數(shù)據(jù)數(shù)量級(jí)已經(jīng)從TB級(jí)別,躍升到PB甚至EB級(jí)別。

●Variety(數(shù)據(jù)類型多):大數(shù)據(jù)的挑戰(zhàn)不僅是數(shù)據(jù)量的大,也體現(xiàn)在數(shù)據(jù)類型的多樣化。除了前文提到的網(wǎng)絡(luò)日志、地理位置信息等具有固定結(jié)構(gòu)的數(shù)據(jù)之外,還有視頻、圖片等非結(jié)構(gòu)化數(shù)據(jù)。

●Velocity:(處理速度快):信息的價(jià)值在于及時(shí),超過(guò)特定時(shí)限的信息就失去了使用的價(jià)值。

●Value(價(jià)值高):大數(shù)據(jù)商業(yè)價(jià)值,但是價(jià)值密度低。單個(gè)數(shù)據(jù)的價(jià)值很低,只有大量數(shù)據(jù)聚合起來(lái)處理才能借助歷史數(shù)據(jù)預(yù)測(cè)未來(lái)走勢(shì),體現(xiàn)出大數(shù)據(jù)計(jì)算的價(jià)值所在。

HDFS

HDFS(全稱Hadoop Distributed File System)原是Apache開(kāi)源項(xiàng)目Nutch的組件,現(xiàn)在成為是Hadoop的重要組件,它是一款具有高容錯(cuò)性特點(diǎn)的分布式文件系統(tǒng),它被設(shè)計(jì)為可以部署在造價(jià)低廉的主機(jī)集群上。它將一個(gè)大文件拆分成固定大小的小數(shù)據(jù)塊,分別存儲(chǔ)在集群的各個(gè)節(jié)點(diǎn)上。因此HDFS可以存儲(chǔ)超大的數(shù)據(jù)集和單個(gè)巨大的文件。這樣的分布式結(jié)構(gòu)能夠進(jìn)行不同節(jié)點(diǎn)的并行讀取,提高了系統(tǒng)的吞吐率。同一個(gè)數(shù)據(jù)塊存儲(chǔ)在不同的數(shù)據(jù)節(jié)點(diǎn)上,保證了HDFS在節(jié)點(diǎn)失敗時(shí)還能繼續(xù)提供服務(wù),使其具有了容錯(cuò)性。

HDFS設(shè)計(jì)目標(biāo)

1.檢測(cè)和恢復(fù)硬件故障。

2.存儲(chǔ)大數(shù)據(jù)集。

3.應(yīng)用程序流式地訪問(wèn)HDFS上的數(shù)據(jù)集。

4.降低了HDFS在數(shù)據(jù)一致性方面的設(shè)計(jì)難度。

5.可移植性。

6.讓計(jì)算隨數(shù)據(jù)的位置而移動(dòng)。

HDFS體系結(jié)構(gòu)

HDFS副本放置策略

對(duì)于HDFS可靠性和性能至關(guān)重要。副本放置策略關(guān)系到數(shù)據(jù)的可靠性、可用性和網(wǎng)絡(luò)帶寬的利用率。對(duì)于副本放置策略的優(yōu)化讓HDFS在分布式文件系統(tǒng)中脫穎而出,這一調(diào)優(yōu)是需要大量實(shí)踐經(jīng)驗(yàn)為基礎(chǔ)實(shí)現(xiàn)的。

HDFS數(shù)據(jù)塊

用HDFS作為存儲(chǔ)系統(tǒng)的程序可以利用HDFS來(lái)處理巨大的數(shù)據(jù)集。通常這些文件只被寫(xiě)入一次,但是允許多次讀取。

HDFS用戶接口

HDFS提供了不同的用戶接口,包括Java的API,并且為C語(yǔ)言提供了Java API的入口。除此之外,HDFS還為用戶提供了HTTP瀏覽器GUI和Shell命令接口,并支持WebDAV協(xié)議。

HBase簡(jiǎn)介

Apache HBase是運(yùn)行于Hadop平臺(tái)上的數(shù)據(jù)庫(kù),它是可擴(kuò)展的、分布式的大數(shù)據(jù)儲(chǔ)存系統(tǒng)。HBase可以對(duì)大數(shù)據(jù)進(jìn)行隨機(jī)而實(shí)時(shí)的讀取和寫(xiě)入操作。它的目標(biāo)是在普通的機(jī)器集群中處理巨大的數(shù)據(jù)表,數(shù)據(jù)表的行數(shù)和列數(shù)都可以達(dá)到百萬(wàn)級(jí)別。

MongDB簡(jiǎn)介

MongoDB是一個(gè)面向集合的,模式自由的文檔型數(shù)據(jù)庫(kù)。

在數(shù)據(jù)庫(kù)里每個(gè)聚集有-一個(gè)唯一-的名字, 可以包含無(wú)限個(gè)文檔。聚集是RDBMS中表的同義詞,區(qū)別是聚集不需要進(jìn)行模式定義

?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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