大數(shù)據(jù)導(dǎo)論P(yáng)PT全套完整教學(xué)課件_第1頁(yè)
大數(shù)據(jù)導(dǎo)論P(yáng)PT全套完整教學(xué)課件_第2頁(yè)
大數(shù)據(jù)導(dǎo)論P(yáng)PT全套完整教學(xué)課件_第3頁(yè)
大數(shù)據(jù)導(dǎo)論P(yáng)PT全套完整教學(xué)課件_第4頁(yè)
大數(shù)據(jù)導(dǎo)論P(yáng)PT全套完整教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩317頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

大數(shù)據(jù)導(dǎo)論第1章緒論第2章大數(shù)據(jù)采集與準(zhǔn)備第3章大數(shù)據(jù)存儲(chǔ)與計(jì)算第4章大數(shù)據(jù)分析第5章大數(shù)據(jù)可視化第6章大數(shù)據(jù)應(yīng)用第7章大數(shù)據(jù)安全與倫理第1章緒論提綱1.1什么是大數(shù)據(jù)1.2相關(guān)術(shù)語(yǔ)1.3大數(shù)據(jù)的應(yīng)用、挑戰(zhàn)與變革1.4大數(shù)據(jù)所涉及的技術(shù)1.5物聯(lián)網(wǎng)、云計(jì)算與大數(shù)據(jù)1.6數(shù)據(jù)科學(xué)與大數(shù)據(jù)1.1什么是大數(shù)據(jù)1.1.1大數(shù)據(jù)的由來(lái)隨著以博客、社交網(wǎng)絡(luò)、基于位置的服務(wù)LBS為代表的新型信息發(fā)布方式的不斷涌現(xiàn),以及云計(jì)算、物聯(lián)網(wǎng)等技術(shù)的興起,數(shù)據(jù)正以前所未有的速度在不斷的增長(zhǎng)和累積,大數(shù)據(jù)時(shí)代已經(jīng)來(lái)到。根據(jù)IDC作出的估測(cè),數(shù)據(jù)一直都在以每年50%的速度增長(zhǎng),也就是說(shuō)每?jī)赡昃驮鲩L(zhǎng)一倍(大數(shù)據(jù)摩爾定律)。這意味著人類(lèi)在最近兩年產(chǎn)生的數(shù)據(jù)量相當(dāng)于之前產(chǎn)生的全部數(shù)據(jù)量。1980年,美國(guó)著名未來(lái)學(xué)家阿爾文·托夫勒的《第三次浪潮》一書(shū)中出現(xiàn)“大數(shù)據(jù)”(BigData)一詞,將大數(shù)據(jù)稱(chēng)為“第三次浪潮的華彩樂(lè)章”。2008年9月4日出版的《自然》雜志第455卷第7209期推出了名為“大數(shù)據(jù)”的封面專(zhuān)欄1.1.1大數(shù)據(jù)的由來(lái)1.1.2大數(shù)據(jù)的特點(diǎn)大約從2009年開(kāi)始,“大數(shù)據(jù)”才成為互聯(lián)網(wǎng)信息技術(shù)行業(yè)的流行詞匯。人類(lèi)社會(huì)的數(shù)據(jù)產(chǎn)生方式大致經(jīng)歷了3個(gè)階段,而正是數(shù)據(jù)產(chǎn)生方式的巨大變化才最終導(dǎo)致大數(shù)據(jù)的產(chǎn)生。

1、運(yùn)營(yíng)式系統(tǒng)階段。

2、用戶(hù)原創(chuàng)內(nèi)容階段。3、感知式系統(tǒng)階段。簡(jiǎn)單來(lái)說(shuō),數(shù)據(jù)產(chǎn)生經(jīng)歷了被動(dòng)、主動(dòng)和自動(dòng)三個(gè)階段。這些被動(dòng)、主動(dòng)和自動(dòng)的數(shù)據(jù)共同構(gòu)成了大數(shù)據(jù)的數(shù)據(jù)來(lái)源,但其中自動(dòng)式的數(shù)據(jù)才是大數(shù)據(jù)產(chǎn)生的最根本原因。一般而言,大家比較認(rèn)可關(guān)于大數(shù)據(jù)的4V說(shuō)法。大數(shù)據(jù)的4個(gè)“V”,或者說(shuō)是大數(shù)據(jù)的四個(gè)特點(diǎn),包含四個(gè)層面:第一,數(shù)據(jù)體量巨大。從TB級(jí)別,躍升到PB級(jí)別;第二,數(shù)據(jù)類(lèi)型繁多。前文提到的網(wǎng)絡(luò)日志、視頻、圖片、地理位置信息等等。第三,價(jià)值密度低,商業(yè)價(jià)值高。以視頻為例,連續(xù)不間斷監(jiān)控過(guò)程中,可能有用的數(shù)據(jù)僅僅有一兩秒。第四,處理速度快。1秒定律。最后這一點(diǎn)也是和傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)有著本質(zhì)的不同。業(yè)界將其歸納為4個(gè)“V”——Volume,Variety,Value,Velocity。1.1.1

大數(shù)據(jù)的由來(lái)

舍恩伯格的《大數(shù)據(jù)時(shí)代》受到了廣泛的贊譽(yù),他本人也因此書(shū)被視為大數(shù)據(jù)領(lǐng)域中的領(lǐng)軍人物。在舍恩伯格看來(lái),大數(shù)據(jù)一共具有三個(gè)特征:(1)全樣而非抽樣;但有了云計(jì)算和數(shù)據(jù)倉(cāng)庫(kù)以后,獲取足夠大的樣本數(shù)據(jù)乃至全體數(shù)據(jù),就變得非常容易了。(2)效率而非精確;但在樣本=總體的大數(shù)據(jù)時(shí)代,“快速獲得一個(gè)大概的輪廓和發(fā)展脈絡(luò),就要比嚴(yán)格的精確性要重要得多”。(3)相關(guān)而非因果。舍恩伯格認(rèn)為,大數(shù)據(jù)時(shí)代只需要知道是什么,而無(wú)需知道為什么,就像亞馬遜推薦算法一樣,知道喜歡A的人很可能喜歡B但卻不知道其中的原因。1.1.2大數(shù)據(jù)的特點(diǎn)“大數(shù)據(jù)”的奧秘不在于它的“大”,而在于“新數(shù)據(jù)與傳統(tǒng)知識(shí)之間的”矛盾日益突出。大數(shù)據(jù)并不等同于“小數(shù)據(jù)的集合”。從小數(shù)據(jù)到大數(shù)據(jù)中出現(xiàn)了“涌現(xiàn)現(xiàn)象”,“涌現(xiàn)”才是大數(shù)據(jù)的本質(zhì)特征。所謂涌現(xiàn)(Emergence)是指系統(tǒng)大于元素之和,或者說(shuō)系統(tǒng)在跨越層次時(shí),出現(xiàn)了新的質(zhì)1.1.3大數(shù)據(jù)的奧秘價(jià)值涌現(xiàn)。大數(shù)據(jù)中的某個(gè)成員小數(shù)據(jù)可能沒(méi)有什么價(jià)值,但由這些小數(shù)據(jù)組成的大數(shù)據(jù)會(huì)很用價(jià)值。隱私涌現(xiàn)。大數(shù)據(jù)中的成員小數(shù)據(jù)可能不涉及隱私(非敏感數(shù)據(jù)),但由這些小數(shù)據(jù)組成的大數(shù)據(jù)可能?chē)?yán)重威脅個(gè)人隱私(敏感數(shù)據(jù))。質(zhì)量涌現(xiàn)。大數(shù)據(jù)中的成員小數(shù)據(jù)可能有質(zhì)量問(wèn)題(不可信的數(shù)據(jù)),如缺少、冗余、垃圾數(shù)據(jù)的存在,但不影響大數(shù)據(jù)的質(zhì)量(可信的數(shù)據(jù))。安全涌現(xiàn)。大數(shù)據(jù)中的成員小數(shù)據(jù)可能不涉及安全問(wèn)題(不帶密級(jí)的數(shù)據(jù)),但如果將這些小數(shù)據(jù)放在一起變成大數(shù)據(jù)之后,很可能影響到機(jī)構(gòu)信息安全、社會(huì)穩(wěn)定甚至國(guó)家安全(帶密級(jí)的數(shù)據(jù))。1.1.3大數(shù)據(jù)的奧秘1.2相關(guān)術(shù)語(yǔ)1.2.1從數(shù)據(jù)到智慧1Byte(B)相當(dāng)于一個(gè)英文字母1Kilobyte(KB)=1024B(千)相當(dāng)于一則短篇故事的內(nèi)容1Megabyte(MB)=1024KB(兆)相當(dāng)于一則短篇小說(shuō)的文字內(nèi)容1Gigabyte(GB)=1024MB(吉)相當(dāng)于貝多芬第五交響曲的樂(lè)譜內(nèi)容1Terabyte(TB)=1024GB(太)相當(dāng)于一家大型醫(yī)院中所有X光圖片內(nèi)容1Petabyte(PB)=1024TB(拍)相當(dāng)于50%全美學(xué)術(shù)研究圖書(shū)館藏書(shū)信息1Exabyte(EB)=1024PB(艾)相當(dāng)于美國(guó)國(guó)會(huì)圖書(shū)館中所有書(shū)面資料的十萬(wàn)倍1Zettabyte(ZB)=1024EB(澤)如同全世界海灘上的沙子數(shù)量的總和1YottaByte(YB)=1024ZB(堯)1024個(gè)像地球一樣的星球上的沙子數(shù)量總和DIKW模型(DatatoInformationtoKnowledgetoWisdomModel)是一個(gè)可以幫助我們理解數(shù)據(jù)(Data)、信息(Information)、知識(shí)(Knowledge)和智慧(Wisdom)之間關(guān)系的模型,它向我們展現(xiàn)了數(shù)據(jù)是如何一步步轉(zhuǎn)化為信息、知識(shí)、乃至智慧的。

1.2.1從數(shù)據(jù)到智慧

1.2.2結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)

從數(shù)據(jù)格式的角度對(duì)數(shù)據(jù)加以區(qū)分的1、結(jié)構(gòu)化數(shù)據(jù)

一般是指可以存儲(chǔ)在數(shù)據(jù)庫(kù)中,用二維表結(jié)構(gòu)來(lái)邏輯表達(dá)實(shí)現(xiàn)的數(shù)據(jù)。2)非結(jié)構(gòu)化數(shù)據(jù)相對(duì)于結(jié)構(gòu)化數(shù)據(jù),一般將不方便用二維表結(jié)構(gòu)來(lái)表現(xiàn)的數(shù)據(jù)即稱(chēng)為非結(jié)構(gòu)化數(shù)據(jù),具體可細(xì)分為:半結(jié)構(gòu)化數(shù)據(jù)

介于完全結(jié)構(gòu)化數(shù)據(jù)和完全無(wú)結(jié)構(gòu)化數(shù)據(jù)之間的數(shù)據(jù),半結(jié)構(gòu)化數(shù)據(jù)格式較規(guī)范,一般是純文本數(shù)據(jù),可以通過(guò)某種方式解析得到每項(xiàng)數(shù)據(jù)。最常見(jiàn)的是日志數(shù)據(jù)、XML、JSON等格式數(shù)據(jù)。

1.2.2結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)

無(wú)結(jié)構(gòu)化數(shù)據(jù)

指非純文本類(lèi)數(shù)據(jù),沒(méi)有標(biāo)準(zhǔn)格式,無(wú)法直接解析出相應(yīng)的值。常見(jiàn)的有富文本格式文檔(RichTextFormat,簡(jiǎn)稱(chēng)RTF)、多媒體(圖像、聲音、視頻等)。

富文本不同于普通文本之處在于其文本包含多種格式如顏色、字體大小等,富文本通常由富文本編輯產(chǎn)生,

1.2.2結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)

1.3大數(shù)據(jù)的應(yīng)用、挑戰(zhàn)與變革大數(shù)據(jù)的出現(xiàn)改變了傳統(tǒng)數(shù)據(jù)收集、存儲(chǔ)、處理挖掘的方式,數(shù)據(jù)采集方式更加多樣化,數(shù)據(jù)來(lái)源更加廣泛、多樣化,數(shù)據(jù)處理方式也由簡(jiǎn)單因果關(guān)系轉(zhuǎn)向發(fā)現(xiàn)豐富聯(lián)系的相關(guān)關(guān)系,同時(shí),大數(shù)據(jù)還能基于歷史數(shù)據(jù)分析,提供市場(chǎng)預(yù)測(cè),促成決策。具體來(lái)說(shuō),大數(shù)據(jù)通過(guò)“量”提升了數(shù)據(jù)分析對(duì)“質(zhì)”的寬容度;使技術(shù)與算法從“靜態(tài)”走向“持續(xù)”;實(shí)現(xiàn)了從數(shù)據(jù)到價(jià)值的高效轉(zhuǎn)化;降低了數(shù)據(jù)分析的成本門(mén)檻。

大數(shù)據(jù)的應(yīng)用

1.大數(shù)據(jù)在工業(yè)中的應(yīng)用在工業(yè)企業(yè)中,生產(chǎn)線處于高速運(yùn)行狀態(tài),工業(yè)設(shè)備產(chǎn)生、采集和處理的數(shù)據(jù)量遠(yuǎn)遠(yuǎn)大于企業(yè)計(jì)算機(jī)和人工生成的數(shù)據(jù),其中大部分是數(shù)據(jù)類(lèi)型中的非結(jié)構(gòu)化數(shù)據(jù),生產(chǎn)線的高速運(yùn)行也需要更高的實(shí)時(shí)數(shù)據(jù),因此,大數(shù)據(jù)在工業(yè)領(lǐng)域中的應(yīng)用前景巨大,但也需面臨許多問(wèn)題和挑戰(zhàn)。2.大數(shù)據(jù)在農(nóng)業(yè)中的應(yīng)用

農(nóng)業(yè)大數(shù)據(jù)是融合了農(nóng)業(yè)地域性、季節(jié)性、多樣性、周期性等自身特征后產(chǎn)生的來(lái)源廣泛、類(lèi)型多樣、結(jié)構(gòu)復(fù)雜、具有潛在價(jià)值,并難以應(yīng)用通常方法處理和分析的數(shù)據(jù)集合。它保留了大數(shù)據(jù)自身具有的規(guī)模巨大、類(lèi)型多樣、價(jià)值密度低、處理速度快、精確度高和復(fù)雜度高等基本特征外,還使農(nóng)業(yè)內(nèi)部的信息流得到了延展和深化。根據(jù)農(nóng)業(yè)的產(chǎn)業(yè)鏈條劃分,目前農(nóng)業(yè)大數(shù)據(jù)主要集中在農(nóng)業(yè)環(huán)境與資源、農(nóng)業(yè)生產(chǎn)、農(nóng)業(yè)市場(chǎng)和農(nóng)業(yè)管理等領(lǐng)域。

大數(shù)據(jù)的應(yīng)用

3.大數(shù)據(jù)在服務(wù)業(yè)中的應(yīng)用1)大數(shù)據(jù)緩解交通擁堵2)大數(shù)據(jù)守護(hù)軌道交通安全3)大數(shù)據(jù)優(yōu)化物流資源配置

大數(shù)據(jù)的應(yīng)用

3.大數(shù)據(jù)在服務(wù)業(yè)中的應(yīng)用1)大數(shù)據(jù)緩解交通擁堵2)大數(shù)據(jù)守護(hù)軌道交通安全3)大數(shù)據(jù)優(yōu)化物流資源配置4.大數(shù)據(jù)在體育界的應(yīng)用

未來(lái),競(jìng)技體育中的體征數(shù)據(jù)(心率、血壓、血氧)、環(huán)境數(shù)據(jù)(天氣、場(chǎng)館地面、球門(mén)、球框)、裝備數(shù)據(jù)(場(chǎng)上運(yùn)動(dòng)員的裝備及能力),乃至運(yùn)動(dòng)員的心態(tài)數(shù)據(jù)都將逐步涌現(xiàn)出來(lái)。這些數(shù)據(jù)將協(xié)助制定更有針對(duì)性的訓(xùn)練計(jì)劃,并且結(jié)合諸如球員心理狀態(tài)和醫(yī)療進(jìn)度等方面的信息,最終將所有這些數(shù)據(jù)整合到統(tǒng)一的系統(tǒng)解決方案之中。

大數(shù)據(jù)的應(yīng)用

5.大數(shù)據(jù)在醫(yī)藥業(yè)中的應(yīng)用

醫(yī)藥行業(yè)作為與民眾生命健康密不可分的行業(yè),其重要性不言而喻,大數(shù)據(jù)在醫(yī)藥行業(yè)的應(yīng)用不僅關(guān)乎醫(yī)藥產(chǎn)業(yè)的發(fā)展,還影響著民眾的生命健康,具有極為重要的意義。通過(guò)大數(shù)據(jù)采集和挖掘,醫(yī)藥企業(yè)可以拓寬市場(chǎng)調(diào)研數(shù)據(jù)的廣度和深度,并通過(guò)大數(shù)據(jù)模型分析,掌握醫(yī)藥行業(yè)市場(chǎng)構(gòu)成及變化趨勢(shì)、細(xì)分市場(chǎng)的特征、消費(fèi)者需求和競(jìng)爭(zhēng)者經(jīng)營(yíng)狀況等眾多因素,并可對(duì)未來(lái)的市場(chǎng)作出一定的預(yù)測(cè)

大數(shù)據(jù)的應(yīng)用

1.成本挑戰(zhàn)。運(yùn)營(yíng)商普遍受到騰訊、阿里巴巴等互聯(lián)網(wǎng)廠商的OTT應(yīng)用的擠壓,面臨著管道轉(zhuǎn)型、利潤(rùn)下降的風(fēng)險(xiǎn)。而運(yùn)營(yíng)商的數(shù)據(jù)量巨大,以PB為基本單位的數(shù)據(jù),處理起來(lái)需要巨大的投入。外部商業(yè)環(huán)境和內(nèi)部規(guī)模的雙重?cái)D壓,對(duì)大數(shù)據(jù)平臺(tái)提出了很高的性能和成本要求。

大數(shù)據(jù)的挑戰(zhàn)

2.實(shí)時(shí)性挑戰(zhàn)。

如果從廣義的數(shù)據(jù)質(zhì)量角度看,隨著時(shí)間的推移,數(shù)據(jù)的價(jià)值將逐漸降低,時(shí)間越久的數(shù)據(jù),價(jià)值越低。舉個(gè)例子,一家商場(chǎng)需要對(duì)當(dāng)前在商場(chǎng)內(nèi)的客戶(hù)做一個(gè)推薦活動(dòng)。但是端到端采集和處理數(shù)據(jù)的時(shí)間過(guò)長(zhǎng),最后推薦平臺(tái)得到的用戶(hù)列表都是過(guò)期的列表,列表上的名單可能已經(jīng)不在商場(chǎng)內(nèi),而新到的用戶(hù)還沒(méi)有更新到名單中,所以很多業(yè)務(wù)對(duì)大數(shù)據(jù)平臺(tái)端到端的實(shí)時(shí)性提出了很高的要求。

大數(shù)據(jù)的挑戰(zhàn)

3.安全挑戰(zhàn)。

安全挑戰(zhàn)體現(xiàn)在兩個(gè)方面:一方面是在技術(shù)上,隨著HTTPS的推廣應(yīng)用,數(shù)據(jù)在傳輸過(guò)程中采管理加密的方式,運(yùn)營(yíng)商作為管道獲取數(shù)據(jù)的難度變得越來(lái)越大。另一面是在法理上,用戶(hù)的哪些數(shù)據(jù)是可以獲取、哪些是不允許讀取,始終存在侵犯用戶(hù)隱私的法律風(fēng)險(xiǎn)。

大數(shù)據(jù)的挑戰(zhàn)

決策方式:從目標(biāo)驅(qū)動(dòng)型到數(shù)據(jù)驅(qū)動(dòng)型方法論:從基于知識(shí)的方法到基于數(shù)據(jù)的方法計(jì)算方式:從復(fù)雜算法到簡(jiǎn)單分析管理方式:從業(yè)務(wù)數(shù)據(jù)化到數(shù)據(jù)業(yè)務(wù)化研究范式:從第三范式到第四范式數(shù)據(jù)的屬性:從數(shù)據(jù)是資源到數(shù)據(jù)是資產(chǎn)數(shù)據(jù)處理模式:從小眾參與到大規(guī)模協(xié)同思維模式:從抽樣思維到整體思維、相關(guān)思維和容錯(cuò)思維

大數(shù)據(jù)的變革

1.4大數(shù)據(jù)所涉及的技術(shù)1.4大數(shù)據(jù)所涉及的技術(shù)1.4大數(shù)據(jù)所涉及的技術(shù)大數(shù)據(jù)存儲(chǔ)和管理技術(shù)

近年來(lái)互聯(lián)網(wǎng)、云計(jì)算、移動(dòng)和物聯(lián)網(wǎng)的迅猛發(fā)展。無(wú)所不在的移動(dòng)設(shè)備、RFID、無(wú)線傳感器每分每秒都在產(chǎn)生數(shù)據(jù),數(shù)以?xún)|計(jì)用戶(hù)的互聯(lián)網(wǎng)服務(wù)時(shí)時(shí)刻刻在產(chǎn)生巨量的交互,要處理的數(shù)據(jù)量實(shí)在是太大、增長(zhǎng)太快了,而業(yè)務(wù)需求和競(jìng)爭(zhēng)壓力對(duì)數(shù)據(jù)處理的實(shí)時(shí)性、有效性又提出了更高要求,傳統(tǒng)的常規(guī)技術(shù)手段根本無(wú)法應(yīng)付。

在這種情況下,技術(shù)人員紛紛研發(fā)和采用了一批新技術(shù),主要包括分布式緩存、基于MPP的分布式數(shù)據(jù)庫(kù)、分布式文件系統(tǒng)、各種NoSQL分布式存儲(chǔ)方案等。大數(shù)據(jù)存儲(chǔ)和管理技術(shù)

1分布式緩存技術(shù)

換句話說(shuō),分布式緩存所管理的機(jī)器實(shí)際上就是一個(gè)集群。它負(fù)責(zé)維護(hù)集群中成員列表的更新,并負(fù)責(zé)執(zhí)行各種操作,比如說(shuō)在集群成員發(fā)生故障時(shí)執(zhí)行故障轉(zhuǎn)移,以及在機(jī)器重新加入集群時(shí)執(zhí)行故障恢復(fù)。Memcached是高性能的分布式內(nèi)存緩存服務(wù)器。一般的使用目的是通過(guò)緩存數(shù)據(jù)庫(kù)查詢(xún)結(jié)果,減少數(shù)據(jù)庫(kù)的訪問(wèn)次數(shù),以提高動(dòng)態(tài)Web應(yīng)用的速度、提高擴(kuò)展性。大數(shù)據(jù)存儲(chǔ)和管理技術(shù)

2分布式數(shù)據(jù)庫(kù)分布式數(shù)據(jù)庫(kù)系統(tǒng)通常使用較小的計(jì)算機(jī)系統(tǒng),每臺(tái)計(jì)算機(jī)可單獨(dú)放在一個(gè)地方,每臺(tái)計(jì)算機(jī)中都有DBMS的一份完整拷貝副本,并具有自己局部的數(shù)據(jù)庫(kù),位于不同地點(diǎn)的許多計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)互相連接,共同組成一個(gè)完整的、全局的大型數(shù)據(jù)庫(kù)。直接采用關(guān)系模型的分布式數(shù)據(jù)庫(kù)并不能適應(yīng)大數(shù)據(jù)時(shí)代的數(shù)據(jù)存儲(chǔ),主要因?yàn)椋海?)規(guī)模效應(yīng)所帶來(lái)的壓力。(2)數(shù)據(jù)類(lèi)型的多樣化。(3)設(shè)計(jì)理念的沖突。大數(shù)據(jù)存儲(chǔ)和管理技術(shù)

2分布式數(shù)據(jù)庫(kù)產(chǎn)生了一批未采用關(guān)系模型的數(shù)據(jù)庫(kù),這些方案現(xiàn)在被統(tǒng)一的稱(chēng)為NoSQL(NotOnlySQL)。NoSQL并沒(méi)有一個(gè)準(zhǔn)確的定義,但一般認(rèn)為NoSQL數(shù)據(jù)庫(kù)應(yīng)當(dāng)具有以下的特征:模式自由(schema-free)、支持簡(jiǎn)易備份(easyreplicationsupport)、簡(jiǎn)單的應(yīng)用程序接口(simpleAPI)、最終一致性(或者說(shuō)支持BASE特性,不支持ACID)、支持海量數(shù)據(jù)(Hugeamountofdata)。大數(shù)據(jù)存儲(chǔ)和管理技術(shù)

3分布式文件系統(tǒng)Google自行設(shè)計(jì)開(kāi)發(fā)了Google文件系統(tǒng)GFS(GoogleFileSystem)。GFS是構(gòu)建在大量廉價(jià)服務(wù)器之上的一個(gè)可擴(kuò)展的分布式文件系統(tǒng)。

在Google的論文發(fā)表后,就誕生了Hadoop。截至今日,Hadoop被很多中國(guó)最大互聯(lián)網(wǎng)公司所追捧,百度的搜索日志分析,騰訊、淘寶和支付寶的數(shù)據(jù)倉(cāng)庫(kù)都可以看到Hadoop的身影。Hadoop具備低廉的硬件成本、開(kāi)源的軟件體系、較強(qiáng)的靈活性、允許用戶(hù)自己修改代碼等特點(diǎn),同時(shí)能支持海量數(shù)據(jù)存儲(chǔ)和計(jì)算任務(wù)。大數(shù)據(jù)分析技術(shù)

數(shù)據(jù)分析是大數(shù)據(jù)應(yīng)用最核心的技術(shù)之一,每一次簡(jiǎn)單的網(wǎng)絡(luò)點(diǎn)擊背后都需要進(jìn)行復(fù)雜的分析過(guò)程。MapReduce是Google最早采用的計(jì)算模型,適用于批處理。Pregel是Google繼MapReduce之后提出的又一個(gè)計(jì)算模型,與MapReduce的離線批處理模式不同,它主要用于圖的計(jì)算。

實(shí)時(shí)數(shù)據(jù)處理是大數(shù)據(jù)分析的一個(gè)核心需求。很多研究工作正是圍繞這一需求展開(kāi)的。前面介紹了大數(shù)據(jù)處理的兩種基本模式,而在實(shí)時(shí)處理的模式選擇中,主要有三種思路:(1)采用流處理模式。(2)采用批處理模式。(3)二者的融合。1.5物聯(lián)網(wǎng)、云計(jì)算與大數(shù)據(jù)1.6數(shù)據(jù)科學(xué)與大數(shù)據(jù)1.6.1數(shù)據(jù)科學(xué)數(shù)據(jù)科學(xué)(DataScience)是關(guān)于數(shù)據(jù),尤其是大數(shù)據(jù)的科學(xué)。可以從以下四個(gè)方面理解數(shù)據(jù)科學(xué)的含義。它是一門(mén)將“現(xiàn)實(shí)世界”映射到“數(shù)據(jù)世界”之后,在“數(shù)據(jù)層次”上研究“現(xiàn)實(shí)世界”的問(wèn)題,并根據(jù)“數(shù)據(jù)世界”的分析結(jié)果,對(duì)“現(xiàn)實(shí)世界”進(jìn)行預(yù)測(cè)、洞見(jiàn)、解釋和決策的新興科學(xué)。它是一門(mén)以“數(shù)據(jù)”,尤其是“大數(shù)據(jù)”為研究對(duì)象,并以數(shù)據(jù)統(tǒng)計(jì)、機(jī)器學(xué)習(xí)、數(shù)據(jù)可視化等為理論基礎(chǔ),主要研究數(shù)據(jù)加工、數(shù)據(jù)管理、數(shù)據(jù)計(jì)算、數(shù)據(jù)產(chǎn)品開(kāi)發(fā)等活動(dòng)的交叉學(xué)科。它是一門(mén)以實(shí)現(xiàn)“從數(shù)據(jù)到信息”、“從數(shù)據(jù)到知識(shí)”“從數(shù)據(jù)到智慧”的轉(zhuǎn)化為主要研究目的,以“數(shù)據(jù)驅(qū)動(dòng)”、“數(shù)據(jù)業(yè)務(wù)化”、“數(shù)據(jù)洞見(jiàn)”、“數(shù)據(jù)產(chǎn)品研發(fā)”及“數(shù)據(jù)生態(tài)系統(tǒng)的建設(shè)”等為主要研究任務(wù)的獨(dú)立學(xué)科。它是一門(mén)以“數(shù)據(jù)時(shí)代”,尤其是“大數(shù)據(jù)時(shí)代”面臨的新挑戰(zhàn)、新機(jī)會(huì)、新思維和新方法為核心內(nèi)容,包括新的理論、方法、模型、技術(shù)、平臺(tái)、工具、應(yīng)用和最佳實(shí)踐在內(nèi)的一整套知識(shí)體系。1.6.2“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”專(zhuān)業(yè)教育部在2016年批準(zhǔn)備案了“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”本科專(zhuān)業(yè)(分工學(xué)和理學(xué)),這既是對(duì)現(xiàn)實(shí)需求的積極響應(yīng),也是對(duì)高校人才培養(yǎng)的新要求。截止2019年6月,共479所高校的481個(gè)“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”本科專(zhuān)業(yè)點(diǎn)(包括工學(xué)和理學(xué))獲批。近幾年專(zhuān)業(yè)點(diǎn)獲批情況如所示。數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專(zhuān)業(yè)是交叉型學(xué)科,其知識(shí)領(lǐng)域涉及數(shù)學(xué)、統(tǒng)計(jì)和計(jì)算機(jī)等多學(xué)科。具體來(lái)說(shuō),數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專(zhuān)業(yè)是以數(shù)據(jù),特別是大數(shù)據(jù)為研究對(duì)象,以從數(shù)據(jù)中獲取知識(shí)與智慧為主要目的,以數(shù)學(xué)、統(tǒng)計(jì)學(xué)、計(jì)算機(jī)科學(xué)、可視化以及專(zhuān)業(yè)領(lǐng)域知識(shí)等為理論基礎(chǔ),以數(shù)據(jù)采集、預(yù)處理、數(shù)據(jù)管理及數(shù)據(jù)計(jì)算等為研究?jī)?nèi)容的一門(mén)學(xué)科。重點(diǎn)培養(yǎng)具有以下三方面素質(zhì)的人才:1)能理解和運(yùn)用數(shù)據(jù)科學(xué)模型的理論;2)有處理實(shí)際數(shù)據(jù)能力;3)有利用大數(shù)據(jù)的方法解決具體行業(yè)應(yīng)用問(wèn)題的能力。1.6.2“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”專(zhuān)業(yè)習(xí)題1.什么是大數(shù)據(jù)?請(qǐng)總結(jié)大數(shù)據(jù)的特點(diǎn)。2.請(qǐng)說(shuō)明大數(shù)據(jù)時(shí)代帶來(lái)的變革。3.請(qǐng)說(shuō)明大數(shù)據(jù)的技術(shù)框架。4.請(qǐng)了解“數(shù)據(jù)科學(xué)”與“大數(shù)據(jù)”的關(guān)系,上網(wǎng)收集有關(guān)“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”專(zhuān)業(yè)的相關(guān)信息。謝謝!第2章大數(shù)據(jù)采集與準(zhǔn)備提綱2.1大數(shù)據(jù)來(lái)源與采集2.2大數(shù)據(jù)采集工具2.3數(shù)據(jù)準(zhǔn)備《大數(shù)據(jù)導(dǎo)論》2.1大數(shù)據(jù)來(lái)源與采集2.1.1大數(shù)據(jù)來(lái)源從數(shù)據(jù)采集的來(lái)源看,目前大數(shù)據(jù)的主要數(shù)據(jù)來(lái)源有三個(gè)途徑,分別是物聯(lián)網(wǎng)系統(tǒng)、互聯(lián)網(wǎng)Web系統(tǒng)和傳統(tǒng)信息系統(tǒng)。物聯(lián)網(wǎng)的數(shù)據(jù)占據(jù)了整個(gè)大數(shù)據(jù)百分之九十以上的份額,可以說(shuō)沒(méi)有物聯(lián)網(wǎng)就沒(méi)有大數(shù)據(jù)。物聯(lián)網(wǎng)的數(shù)據(jù)大部分是非結(jié)構(gòu)化數(shù)據(jù)和半結(jié)構(gòu)化數(shù)據(jù)。Web系統(tǒng)是另一個(gè)重要的數(shù)據(jù)采集渠道,隨著Web2.0的發(fā)展,整個(gè)Web系統(tǒng)涵蓋了大量的價(jià)值化數(shù)據(jù),而且這些數(shù)據(jù)與物聯(lián)網(wǎng)的數(shù)據(jù)不同,Web系統(tǒng)的數(shù)據(jù)往往是結(jié)構(gòu)化數(shù)據(jù),而且數(shù)據(jù)的價(jià)值密度比較高、傳統(tǒng)信息系統(tǒng)也是大數(shù)據(jù)的一個(gè)數(shù)據(jù)來(lái)源,雖然傳統(tǒng)信息系統(tǒng)的數(shù)據(jù)占比較小,但是由于傳統(tǒng)信息系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)清晰,同時(shí)具有較高的可靠性,所以傳統(tǒng)信息系統(tǒng)的數(shù)據(jù)往往也是價(jià)值密度最高的。

2.1.2大數(shù)據(jù)采集技術(shù)

1.數(shù)據(jù)采集分類(lèi)

傳統(tǒng)的數(shù)據(jù)采集(DataAcQuisition,DAQ):又稱(chēng)數(shù)據(jù)獲取,是指從傳感器和其它待測(cè)設(shè)備等模擬和數(shù)字被測(cè)單元中自動(dòng)采集信息的過(guò)程。按采集頻率分,可分為靜態(tài)數(shù)據(jù)采集、低頻數(shù)據(jù)采集和高頻數(shù)據(jù)采集;按采集結(jié)構(gòu)分,可分為結(jié)構(gòu)化數(shù)據(jù)采集、半結(jié)構(gòu)化數(shù)據(jù)采集和非結(jié)構(gòu)化數(shù)據(jù)采集;按采集方式分,可分為定時(shí)采集和實(shí)時(shí)采集。大數(shù)據(jù)的數(shù)據(jù)采集的來(lái)源廣泛,數(shù)據(jù)量巨大,數(shù)據(jù)類(lèi)型豐富,包括結(jié)構(gòu)化,半結(jié)構(gòu)化,非結(jié)構(gòu)化類(lèi)型的數(shù)據(jù),多采用分布式數(shù)據(jù)庫(kù)技術(shù)存儲(chǔ)與處理。不同結(jié)構(gòu)類(lèi)型數(shù)據(jù)的適用技術(shù)對(duì)比見(jiàn)表所示。1)系統(tǒng)日志采集方法很多互聯(lián)網(wǎng)企業(yè)都有自己的海量數(shù)據(jù)采集工具,多用于系統(tǒng)日志采集,如Hadoop的Flume,Kafka以及Sqoop等,這些工具均采用分布式架構(gòu),能滿(mǎn)足每秒數(shù)百M(fèi)B的日志數(shù)據(jù)采集和傳輸需求。2)網(wǎng)絡(luò)數(shù)據(jù)采集方法網(wǎng)絡(luò)數(shù)據(jù)采集是指通過(guò)網(wǎng)絡(luò)爬蟲(chóng)或網(wǎng)站公開(kāi)API等方式從網(wǎng)站上獲取數(shù)據(jù)信息。該方法可以將非結(jié)構(gòu)化數(shù)據(jù)從網(wǎng)頁(yè)中抽取出來(lái),將其存儲(chǔ)為統(tǒng)一的本地?cái)?shù)據(jù)文件,并以結(jié)構(gòu)化的方式存儲(chǔ)。它支持圖片、音頻、視頻等文件或附件的采集,附件與正文可以自動(dòng)關(guān)聯(lián)。除了網(wǎng)絡(luò)中包含的內(nèi)容之外,對(duì)于網(wǎng)絡(luò)流量的采集可以使用DPI或DFI等帶寬管理技術(shù)進(jìn)行處理。3)數(shù)據(jù)庫(kù)采集系統(tǒng)企業(yè)不斷產(chǎn)生的業(yè)務(wù)數(shù)據(jù)會(huì)直接寫(xiě)入數(shù)據(jù)庫(kù),通過(guò)數(shù)據(jù)庫(kù)采集系統(tǒng)可直接與企業(yè)業(yè)務(wù)后臺(tái)服務(wù)器結(jié)合,能根據(jù)分析需求采集數(shù)據(jù)并進(jìn)行針對(duì)性的分析。

2.1.2大數(shù)據(jù)采集技術(shù)

2.2大數(shù)據(jù)采集工具2.2.1網(wǎng)絡(luò)爬蟲(chóng)網(wǎng)絡(luò)爬蟲(chóng)是一個(gè)自動(dòng)下載網(wǎng)頁(yè)資源的程序,它根據(jù)既定的抓取目標(biāo),有選擇地訪問(wèn)萬(wàn)維網(wǎng)上與目標(biāo)相關(guān)的網(wǎng)頁(yè)鏈接,獲取所需要的網(wǎng)頁(yè)信息。與搜索引擎不同,爬蟲(chóng)并不太追求大的覆蓋,而是將目標(biāo)定位為抓取與某一個(gè)特定主體內(nèi)容相關(guān)的網(wǎng)頁(yè),為面向主題的用戶(hù)查詢(xún)準(zhǔn)備數(shù)據(jù)資源。通用爬蟲(chóng)框架的工作流程:步驟1:確定種子URL,并存入待抓取的URL列表;步驟2:從待抓取的URL列表中隨機(jī)提取一個(gè)URL,發(fā)送到URL下載器;步驟3:URL下載器開(kāi)始下載頁(yè)面,如果下載成功,將頁(yè)面發(fā)送給URL解析器,同時(shí)把URL存入已抓取的URL列表;如果下載失敗,將URL重新存入待抓取的URL列表,重復(fù)步驟2;步驟4:URL解析器開(kāi)始解析頁(yè)面,將獲得的新的URL存入待抓取的URL列表,同時(shí)將需要的、有價(jià)值的數(shù)據(jù)存入數(shù)據(jù)庫(kù);步驟5:重復(fù)步驟2至步驟4,直到待抓取的URL列表為空。

2.2.1網(wǎng)絡(luò)爬蟲(chóng)

1.認(rèn)識(shí)網(wǎng)頁(yè)結(jié)構(gòu)爬蟲(chóng)代碼解析

2.2.1網(wǎng)絡(luò)爬蟲(chóng)

2.2.1網(wǎng)絡(luò)爬蟲(chóng)

2.2.2其他數(shù)據(jù)采集工具1.FlumeFlume是Apache旗下的一款開(kāi)源的、高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類(lèi)數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時(shí),F(xiàn)lume提供對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,并寫(xiě)到各種數(shù)據(jù)接受方(可定制)的能力。Flume的工作原理類(lèi)似于一節(jié)一節(jié)的水管(Agent),每個(gè)Agent由Source、Channel、Sink三個(gè)組件組成。2.KafkaKafka是Apache軟件基金會(huì)旗下的一個(gè)開(kāi)源流處理平臺(tái),由Scala和Java編寫(xiě),是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以水平擴(kuò)展,高可用,速度快,已經(jīng)運(yùn)行在數(shù)千家公司的生產(chǎn)環(huán)境中。Kafka可以處理消費(fèi)者在網(wǎng)站中的所有動(dòng)作流數(shù)據(jù),這些動(dòng)作涵蓋了網(wǎng)頁(yè)瀏覽,搜索和其他用戶(hù)的行動(dòng)等,是完成網(wǎng)絡(luò)上的許多社會(huì)功能的必然行為。這些行為數(shù)據(jù)通常因?yàn)橥掏铝康囊笮柰ㄟ^(guò)處理日志和日志聚合來(lái)解決。2.2.2其他數(shù)據(jù)采集工具3.SqoopSqoop(發(fā)音:skup)是Apache軟件基金會(huì)旗下的一款開(kāi)源工具,主要用于在Hadoop(Hive)與傳統(tǒng)的數(shù)據(jù)庫(kù)(MySQL、Postgres等)間進(jìn)行數(shù)據(jù)的傳遞。它可以將一個(gè)關(guān)系型數(shù)據(jù)庫(kù)(例如:MySQL、Oracle、Postgres等)中的數(shù)據(jù)導(dǎo)進(jìn)到Hadoop的HDFS中,也可以將HDFS的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫(kù)中。2.3數(shù)據(jù)準(zhǔn)備經(jīng)過(guò)數(shù)據(jù)采集階段后,我們根據(jù)大數(shù)據(jù)應(yīng)用的需求采集了大量的數(shù)據(jù),但是現(xiàn)實(shí)世界的數(shù)據(jù)很多是“臟”數(shù)據(jù),即存在不完整(缺少屬性值或僅僅包含聚集數(shù)據(jù))、含噪聲(包含錯(cuò)誤或存在偏離期望的離群值等錯(cuò)誤數(shù)據(jù))、不一致(不同采集源得到的數(shù)據(jù)可能存在量綱不同、屬性含義不同等問(wèn)題)等。而我們?cè)谑褂脭?shù)據(jù)過(guò)程中對(duì)數(shù)據(jù)有一致性、準(zhǔn)確性、完整性、時(shí)效性、可信性、可解釋性等要求。如何將這些“臟”數(shù)據(jù)有效地轉(zhuǎn)換成高質(zhì)量的專(zhuān)家數(shù)據(jù),就涉及到數(shù)據(jù)準(zhǔn)備(DataPreparation)工作,有統(tǒng)計(jì)表明,在一個(gè)完整的大數(shù)據(jù)分析與數(shù)據(jù)挖掘過(guò)程中,數(shù)據(jù)準(zhǔn)備工作要花費(fèi)60%-70%的時(shí)間。在數(shù)據(jù)準(zhǔn)備階段采用的技術(shù)數(shù)據(jù)清洗數(shù)據(jù)集成數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)規(guī)約2.3數(shù)據(jù)準(zhǔn)備2.3.1數(shù)據(jù)清洗數(shù)據(jù)清洗(DataCleaning)過(guò)程包括遺漏數(shù)據(jù)處理,噪聲數(shù)據(jù)處理,以及不一致數(shù)據(jù)處理。1.遺漏數(shù)據(jù)處理1)忽略該條記錄2)手工填補(bǔ)遺漏值3)利用默認(rèn)值填補(bǔ)遺漏值4)利用均值填補(bǔ)遺漏值5)利用同類(lèi)別均值填補(bǔ)遺漏值6)利用最可能的值填補(bǔ)遺漏值2)聚類(lèi)分析方法通過(guò)聚類(lèi)分析方法可幫助發(fā)現(xiàn)異常數(shù)據(jù)。相似或相鄰近的數(shù)據(jù)聚合在一起形成了各個(gè)聚類(lèi)集合,而那些位于這些聚類(lèi)集合之外的數(shù)據(jù)對(duì)象,自然而然就被認(rèn)為是異常數(shù)據(jù)。2.3.1數(shù)據(jù)清洗2.噪聲數(shù)據(jù)處理噪聲是指被測(cè)變量的一個(gè)隨機(jī)錯(cuò)誤和變化。下面通過(guò)給定一個(gè)數(shù)值型屬性(如價(jià)格)來(lái)說(shuō)明平滑去噪的具體方法。1)分箱方法Bin方法通過(guò)利用應(yīng)被平滑數(shù)據(jù)點(diǎn)的周?chē)c(diǎn)(近鄰),對(duì)一組排序數(shù)據(jù)進(jìn)行平滑。排序后的數(shù)據(jù)被分配到若干桶(稱(chēng)為Bins)中。2.3.1數(shù)據(jù)清洗3)人機(jī)結(jié)合檢查方法通過(guò)人機(jī)結(jié)合檢查方法,可以幫助發(fā)現(xiàn)異常數(shù)據(jù)。例如,利用基于信息論的方法可幫助識(shí)別手寫(xiě)符號(hào)庫(kù)中的異常模式,所識(shí)別出的異常模式可輸出到一個(gè)列表中,然后由人對(duì)這一列表中的各異常模式進(jìn)行檢查,并最終確認(rèn)無(wú)用的模式(真正異常的模式)。這種人機(jī)結(jié)合檢查方法比手工方法的手寫(xiě)符號(hào)庫(kù)檢查效率要高許多。4)回歸方法可以利用擬合函數(shù)對(duì)數(shù)據(jù)進(jìn)行平滑。例如,借助線性回歸方法,包括多變量回歸方法,就可以獲得多個(gè)變量之間的擬合關(guān)系,從而達(dá)到利用一個(gè)(或一組)變量值來(lái)預(yù)測(cè)另一個(gè)變量取值的目的。利用回歸分析方法所獲得的擬合函數(shù),能夠幫助平滑數(shù)據(jù)及除去其中的噪聲。2.3.1數(shù)據(jù)清洗3.不一致數(shù)據(jù)處理現(xiàn)實(shí)世界的數(shù)據(jù)庫(kù)常岀現(xiàn)數(shù)據(jù)記錄內(nèi)容不一致的問(wèn)題,其中的一些數(shù)據(jù)可以利用它們與外部的關(guān)聯(lián),手工解決這種問(wèn)題。例如,數(shù)據(jù)錄入錯(cuò)誤一般可以通過(guò)與原稿進(jìn)行對(duì)比來(lái)加以糾正。此外還有一些方法可以幫助糾正使用編碼時(shí)所發(fā)生的不一致問(wèn)題。知識(shí)工程工具也可以幫助發(fā)現(xiàn)違反數(shù)據(jù)約束條件的情況。由于同一屬性在不同數(shù)據(jù)庫(kù)中的取名不規(guī)范,常常使得在進(jìn)行數(shù)據(jù)集成時(shí),導(dǎo)致不一致情況的發(fā)生。2.3.1數(shù)據(jù)清洗2.3.2數(shù)據(jù)集成數(shù)據(jù)集成(DataIntegration)是將來(lái)自多個(gè)數(shù)據(jù)源的數(shù)據(jù),如數(shù)據(jù)庫(kù)、數(shù)據(jù)立方、普通文件等,結(jié)合在一起并形成一個(gè)統(tǒng)一數(shù)據(jù)集合,以便為數(shù)據(jù)處理工作的順利完成提供完整的數(shù)據(jù)基礎(chǔ)。1.模式匹配整合不同數(shù)據(jù)源中的元數(shù)據(jù)。實(shí)體識(shí)別問(wèn)題:匹配來(lái)自不同數(shù)據(jù)源的現(xiàn)實(shí)世界的實(shí)體,比如:A.cust-id=B.customer_no2.數(shù)據(jù)冗余同一屬性在不同的數(shù)據(jù)庫(kù)中會(huì)有不同的字段名。一個(gè)屬性可以由另外一個(gè)表導(dǎo)出。如:一個(gè)顧客數(shù)據(jù)表中的平均月收入屬性,它可以根據(jù)月收入屬性計(jì)算出來(lái)。有些冗余可以被相關(guān)分析檢測(cè)到。

例如,給定兩個(gè)屬性A和B,則根據(jù)這兩個(gè)屬性的數(shù)值可分析出這兩個(gè)屬性間的相互關(guān)系。如果兩個(gè)屬性之間的關(guān)聯(lián)值r>0,則說(shuō)明兩個(gè)屬性之間是正關(guān)聯(lián),也就是說(shuō),若A增加,B也增加。r值越大,說(shuō)明屬性A、E的正關(guān)聯(lián)關(guān)系越緊密。

如果關(guān)聯(lián)值產(chǎn)0,則說(shuō)明屬性A、B相互獨(dú)立,兩者之間沒(méi)有關(guān)系。如果r<0,則說(shuō)明屬性A、B之間是負(fù)關(guān)聯(lián),也就是說(shuō),若A增加,B就減少。r的絕對(duì)值越大,說(shuō)明屬性A、B的負(fù)關(guān)聯(lián)關(guān)系越緊密。2.3.2數(shù)據(jù)集成2.3.3數(shù)據(jù)變換數(shù)據(jù)轉(zhuǎn)換(DataTransformation)就是將數(shù)據(jù)進(jìn)行轉(zhuǎn)換或歸并,從而構(gòu)成一個(gè)適合數(shù)據(jù)處理的描述形式。1.平滑處理幫助除去數(shù)據(jù)中的噪聲,主要技術(shù)方法有分箱方法、聚類(lèi)方法和回歸方法。2.合計(jì)處理對(duì)數(shù)據(jù)進(jìn)行總結(jié)或合計(jì)操作。例如,每天的數(shù)據(jù)經(jīng)過(guò)合計(jì)操作可以獲得每月或每年的總額。這一操作常用于構(gòu)造數(shù)據(jù)立方或?qū)?shù)據(jù)進(jìn)行多粒度的分析3.數(shù)據(jù)值沖突對(duì)于一個(gè)現(xiàn)實(shí)世界實(shí)體,其來(lái)自不同數(shù)據(jù)源的屬性值或許不同。產(chǎn)生的原因:表示的差異、比例尺度不同、或編碼的差異等。例如:重量屬性在一個(gè)系統(tǒng)中采用公制,而在另一個(gè)系統(tǒng)中卻采用英制。同樣價(jià)格屬性不同地點(diǎn)采用不同貨幣單位。2.3.2數(shù)據(jù)集成2.3.3數(shù)據(jù)變換3.數(shù)據(jù)泛化處理用更抽象(更高層次)的概念來(lái)取代低層次或數(shù)據(jù)層的數(shù)據(jù)對(duì)象。例如,街道屬性可以泛化到更高層次的概念,如城市、國(guó)家,數(shù)值型的屬性,如年齡屬性,可以映射到更高層次的概念,如年輕、中年和老年。4.規(guī)格化處理將有關(guān)屬性數(shù)據(jù)按比例投射到特定的小范圍之中。例如,將工資收入屬性值映射到0到1范圍內(nèi)。5.屬性構(gòu)造處理根據(jù)已有屬性集構(gòu)造新的屬性,以幫助數(shù)據(jù)處理過(guò)程。2.3.3數(shù)據(jù)變換介紹常用的3種規(guī)格化方法。1)最大最小規(guī)格化方法該方法對(duì)被初始數(shù)據(jù)進(jìn)行一種線性轉(zhuǎn)換。計(jì)算公式為:例如:假設(shè)屬性的最大值和最小值分別是98000元和12000元,利用最大最小規(guī)格化方法將“顧客收入”屬性的值映射到0~1的范圍內(nèi),則“顧客收入”屬性的值為73600元時(shí),對(duì)應(yīng)的轉(zhuǎn)換結(jié)果如下。2.3.3數(shù)據(jù)變換2)零均值規(guī)格化方法該方法是指根據(jù)一個(gè)屬性的均值和方差來(lái)對(duì)該屬性的值進(jìn)行規(guī)格化。計(jì)算公式為:例如:假定屬性“顧客收入”的均值和方差分別為54000元和16000元,則“顧客收入”屬性的值為73600元時(shí),對(duì)應(yīng)的轉(zhuǎn)換結(jié)果如下。2.3.3數(shù)據(jù)變換3)十基數(shù)變換規(guī)格化方法該方法通過(guò)移動(dòng)屬性值的小數(shù)位置來(lái)達(dá)到規(guī)格化的目的。所移動(dòng)的小數(shù)位數(shù)取決于屬性絕對(duì)值的最大值。計(jì)算公式為:

其中,j為能夠使該屬性絕對(duì)值的最大值小于1的最小整數(shù)值。例如:假設(shè)屬性的取值范圍是-986~917,則該屬性絕對(duì)值的最大值為986。屬性的值為435時(shí),對(duì)應(yīng)的轉(zhuǎn)換結(jié)果如下。2.3.3數(shù)據(jù)變換2.屬性構(gòu)造方法屬性構(gòu)造方法可以利用已有屬性集構(gòu)造出新的屬性,并將其加入到現(xiàn)有屬性集合中以挖掘更深層次的模式知識(shí),提高挖掘結(jié)果準(zhǔn)確性。例如,根據(jù)寬、高屬性,可以構(gòu)造一個(gè)新屬性(面積)。構(gòu)造合適的屬性能夠減少學(xué)習(xí)構(gòu)造決策樹(shù)時(shí)出現(xiàn)的碎塊情況。此外,屬性結(jié)合可以幫助發(fā)現(xiàn)所遺漏的屬性間的相互聯(lián)系,而這在數(shù)據(jù)挖掘過(guò)程中是十分重要的。2.3.4數(shù)據(jù)規(guī)約數(shù)據(jù)規(guī)約(DataReduction)的主要目的就是從原有巨大數(shù)據(jù)集中獲得一個(gè)精簡(jiǎn)的數(shù)據(jù)集,并使這一精簡(jiǎn)數(shù)據(jù)集保持原有數(shù)據(jù)集的完整性。這樣在精簡(jiǎn)數(shù)據(jù)集上進(jìn)行數(shù)據(jù)挖掘就會(huì)提高效率,并且能夠保證挖掘出來(lái)的結(jié)果與使用原有數(shù)據(jù)集所獲得的結(jié)果基本相同。2.3.4數(shù)據(jù)規(guī)約1.數(shù)據(jù)立方合計(jì)2.3.4數(shù)據(jù)規(guī)約2.維數(shù)消減數(shù)據(jù)集可能包含成百上千的屬性,而這些屬性中的許多屬性是與挖掘任務(wù)無(wú)關(guān)的或冗余的。例如,挖掘顧客是否會(huì)在商場(chǎng)購(gòu)買(mǎi)電視機(jī)的分類(lèi)規(guī)則時(shí),顧客的電話號(hào)碼很可能與挖掘任務(wù)無(wú)關(guān)。但如果利用人類(lèi)專(zhuān)家來(lái)幫助挑選有用的屬性,則困難又費(fèi)時(shí)費(fèi)力,特別是當(dāng)數(shù)據(jù)內(nèi)涵并不十分清楚的時(shí)候。無(wú)論是漏掉相關(guān)屬性,還是選擇了無(wú)關(guān)屬性參加數(shù)據(jù)挖掘工作,都將嚴(yán)重影響數(shù)據(jù)挖掘最終結(jié)果的正確性和有效性。此外,多余或無(wú)關(guān)的屬性也將影響數(shù)據(jù)挖掘的挖掘效率。維數(shù)消減就是通過(guò)消除多余和無(wú)關(guān)的屬性而有效消減數(shù)據(jù)集的規(guī)模的。2.3.4數(shù)據(jù)規(guī)約3.數(shù)據(jù)壓縮數(shù)據(jù)壓縮就是利用數(shù)據(jù)編碼或數(shù)據(jù)轉(zhuǎn)換將原來(lái)的數(shù)據(jù)集合壓縮為一個(gè)較小規(guī)模的數(shù)據(jù)集合。若僅根據(jù)壓縮后的數(shù)據(jù)集就可以恢復(fù)原來(lái)的數(shù)據(jù)集,那么就認(rèn)為這一壓縮是無(wú)損的,否則就稱(chēng)為有損的。在數(shù)據(jù)挖掘領(lǐng)域通常使用的兩種數(shù)據(jù)壓縮方法均是有損的,它們是離散小波轉(zhuǎn)換(DiscreteWaveletTransforms)和主成分分析(PrincipalComponentsAnalysis)。2.3.4數(shù)據(jù)規(guī)約4.數(shù)據(jù)塊消減數(shù)據(jù)塊消減方法主要包括參數(shù)與非參數(shù)兩種基本方法。所謂參數(shù)方法就是利用一個(gè)模型來(lái)幫助獲得原來(lái)的數(shù)據(jù),因此只需要存儲(chǔ)模型的參數(shù)即可(當(dāng)然異常數(shù)據(jù)也需要存儲(chǔ))。例如,線性回歸模型就可以根據(jù)一組變量預(yù)測(cè)計(jì)算另一個(gè)變量。而非參數(shù)方法則是存儲(chǔ)利用直方圖、聚類(lèi)或取樣而獲得的消減后數(shù)據(jù)集。下面介紹幾種主要的數(shù)據(jù)塊消減方法。2.3.4數(shù)據(jù)規(guī)約1)回歸與線性對(duì)數(shù)模型回歸與線性對(duì)數(shù)模型可用于擬合所給定的數(shù)據(jù)集。線性回歸方法是利用一條直線模型對(duì)數(shù)據(jù)進(jìn)行擬合的,可以是基于一個(gè)自變量的,也可以是基于多個(gè)自變量的。線性對(duì)數(shù)模型則是擬合多維離散概率分布的。如果給定n維(例如,用n個(gè)屬性描述)元組的集合,則可以把每個(gè)元組看作n維空間的點(diǎn)?;貧w與線性對(duì)數(shù)模型均可用于稀疏數(shù)據(jù)及異常數(shù)據(jù)的處理。但是回歸模型對(duì)異常數(shù)據(jù)的處理結(jié)果要好許多。應(yīng)用回歸方法處理高維數(shù)據(jù)時(shí)計(jì)算復(fù)雜度較大,而線性對(duì)數(shù)模型則具有較好的可擴(kuò)展性。2.3.4數(shù)據(jù)規(guī)約2)直方圖直方圖是利用Bin方法對(duì)數(shù)據(jù)分布情況進(jìn)行近似的,它是一種常用的數(shù)據(jù)消減方法。屬性A的直方圖就是根據(jù)屬性A的數(shù)據(jù)分布將其劃分為若干不相交的子集(桶)的。這些子集沿水平軸顯示,其高度(或面積)與該桶所代表的數(shù)值平均(出現(xiàn))頻率成正比。若每個(gè)桶僅代表一對(duì)屬性值/頻率,則這個(gè)桶就稱(chēng)為單桶。通常一個(gè)桶代表某個(gè)屬性的一段連續(xù)值。2.3.4數(shù)據(jù)規(guī)約例如:以下是一個(gè)商場(chǎng)所銷(xiāo)售商品的價(jià)格清單(按遞增順序排列,括號(hào)中的數(shù)表示前面數(shù)字出現(xiàn)的次數(shù))。1(2)、5(5)、8(2)、10(4)、12(1)、14(3)、15(6)、18(9)、20(8)、22(5)、24(2)、26(3)構(gòu)造直方圖所涉及的數(shù)據(jù)集劃分方法有以下幾種。(1)等寬方法在一個(gè)等寬的直方圖中,每個(gè)桶的寬度(范圍)是相同的(如圖2-13所示的每個(gè)桶均覆蓋1個(gè)單位的價(jià)格變化)。(2)等高方法在一個(gè)等高的直方圖中,每個(gè)桶中的數(shù)據(jù)個(gè)數(shù)是相同的。(3)V-Optimal方法若對(duì)指定桶個(gè)數(shù)的所有可能直方圖進(jìn)行考慮,該方法所獲得的直方圖是這些直方圖中變化最小的,即具有最小方差的直方圖。直方圖方差是指每個(gè)桶所代表數(shù)值的加權(quán)之和,其權(quán)值為相應(yīng)桶中數(shù)值的個(gè)數(shù)。(4)MaxDiff方法該方法以相鄰數(shù)值(對(duì))之差為基礎(chǔ),一個(gè)桶的邊界則是由包含有β-1個(gè)最大差距的數(shù)值對(duì)所確定的,其中,β為用戶(hù)指定的閾值。2.3.4數(shù)據(jù)規(guī)約3)聚類(lèi)聚類(lèi)技術(shù)將數(shù)據(jù)行視為對(duì)象。聚類(lèi)分析所獲得的組或類(lèi)具有以下性質(zhì)。同一組或類(lèi)中的對(duì)象彼此相似,而不同組或類(lèi)中的對(duì)象彼此不相似。相似性通常利用多維空間中的距離來(lái)表示。一個(gè)組或類(lèi)的“質(zhì)量”可以用其所含對(duì)象間的最大距離(稱(chēng)為半徑)來(lái)衡量,也可以用中心距離,即組或類(lèi)中各對(duì)象與中心點(diǎn)距離的平均值,來(lái)作為組或類(lèi)的“質(zhì)量”。在數(shù)據(jù)消減中,數(shù)據(jù)的聚類(lèi)表示可用于替換原來(lái)的數(shù)據(jù)。當(dāng)然這一技術(shù)的有效性依賴(lài)于實(shí)際數(shù)據(jù)的內(nèi)在規(guī)律。在處理帶有較強(qiáng)噪聲數(shù)據(jù)時(shí)采用數(shù)據(jù)聚類(lèi)方法常常是非常有效的。2.3.4數(shù)據(jù)規(guī)約4)采樣采樣方法由于可以利用一小部分?jǐn)?shù)據(jù)(子集)來(lái)代表一個(gè)大數(shù)據(jù)集,因此可以作為數(shù)據(jù)消減的技術(shù)方法之一。假設(shè)一個(gè)大數(shù)據(jù)集為D,其中包括N個(gè)數(shù)據(jù)行。幾種主要的采樣方法如下。(1)無(wú)替換簡(jiǎn)單隨機(jī)采樣方法(簡(jiǎn)稱(chēng)SRSWOR方法)該方法從N個(gè)數(shù)據(jù)行中隨機(jī)(每一數(shù)據(jù)行被選中的概率為1/N)抽取出n個(gè)數(shù)據(jù)行,以構(gòu)成由n個(gè)數(shù)據(jù)行組成的采樣數(shù)據(jù)子集。

(2)有替換簡(jiǎn)單隨機(jī)采樣方法(簡(jiǎn)稱(chēng)SRSWR方法)該方法也是從N個(gè)數(shù)據(jù)行中每次隨機(jī)抽取一個(gè)數(shù)據(jù)行,但該數(shù)據(jù)行被選中后仍將留在大數(shù)據(jù)集D中,最后獲得的由n個(gè)數(shù)據(jù)行組成的采樣數(shù)據(jù)子集中可能會(huì)出現(xiàn)相同的數(shù)據(jù)行,2.3.4數(shù)據(jù)規(guī)約2.3.4數(shù)據(jù)規(guī)約2.3.4數(shù)據(jù)規(guī)約(3)聚類(lèi)采樣方法該方法首先將大數(shù)據(jù)集D劃分為M個(gè)不相交的類(lèi),然后再分別從這M個(gè)類(lèi)的數(shù)據(jù)對(duì)象中進(jìn)行隨機(jī)抽取,這樣就可以最終獲得聚類(lèi)采樣數(shù)據(jù)子集。

(4)分層采樣方法該方法首先將大數(shù)據(jù)集劃分為若干不相交的層,然后再分別從這些層中隨機(jī)抽取數(shù)據(jù)對(duì)象,從而獲得具有代表性的采樣數(shù)據(jù)子集。例如,可以對(duì)一個(gè)顧客數(shù)據(jù)集按照年齡進(jìn)行分層,然后再在每個(gè)年齡組中進(jìn)行隨機(jī)選擇,從而確保最終獲得的分層采樣數(shù)據(jù)子集中的年齡分布具有代表性,2.3.4數(shù)據(jù)規(guī)約分層采樣方法示意圖習(xí)題

1.請(qǐng)說(shuō)明大數(shù)據(jù)采集技術(shù)包括哪些?2.什么是ETL?在ETL中哪一步是最耗費(fèi)時(shí)間與精力的?3.請(qǐng)說(shuō)明數(shù)據(jù)準(zhǔn)備中涉及哪些技術(shù)?在完成數(shù)據(jù)準(zhǔn)備時(shí)這些技術(shù)是不是都必須采用呢?謝謝!第3章大數(shù)據(jù)存儲(chǔ)與計(jì)算

提綱3.1大數(shù)據(jù)存儲(chǔ)3.2HDFS文件系統(tǒng)3.3NoSQL數(shù)據(jù)庫(kù)3.4Hbase數(shù)據(jù)庫(kù)3.5大數(shù)據(jù)處理3.6分布式計(jì)算3.7MapReduce模型3.8Spark通用計(jì)算框架《大數(shù)據(jù)導(dǎo)論》

3.1大數(shù)據(jù)存儲(chǔ)

BigData(大數(shù)據(jù)技術(shù))作為一個(gè)專(zhuān)有名詞成為熱點(diǎn),主要應(yīng)歸功于近年來(lái)互聯(lián)網(wǎng)、云計(jì)算、移動(dòng)和物聯(lián)網(wǎng)的迅猛發(fā)展。無(wú)所不在的移動(dòng)設(shè)備、RFID、無(wú)線傳感器每分每秒都在產(chǎn)生數(shù)據(jù),數(shù)以?xún)|計(jì)用戶(hù)的互聯(lián)網(wǎng)服務(wù)時(shí)時(shí)刻刻在產(chǎn)生巨量的交互,要處理的數(shù)據(jù)量實(shí)在是太大、增長(zhǎng)太快了,而業(yè)務(wù)需求和競(jìng)爭(zhēng)壓力對(duì)數(shù)據(jù)處理的實(shí)時(shí)性、有效性又提出了更高要求。在這種情況下,傳統(tǒng)的常規(guī)技術(shù)針對(duì)大數(shù)據(jù)存儲(chǔ)要求,采取了一些新存儲(chǔ)架構(gòu)和方法,主要包括DAS/NAS/SAN存儲(chǔ)結(jié)構(gòu)。但基于存儲(chǔ)設(shè)備的性能、成本等問(wèn)題的考慮,架構(gòu)基于大規(guī)模分布式計(jì)算(MPP)的GFS/HDFS分布式文件系統(tǒng)、各種NoSQL分布式存儲(chǔ)方案等應(yīng)運(yùn)而生。3.1.1大數(shù)據(jù)如何存儲(chǔ)1.結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)通常是人們所熟悉的數(shù)據(jù)庫(kù)中的數(shù)據(jù),它本身就是一種對(duì)現(xiàn)實(shí)已發(fā)生事項(xiàng)的關(guān)鍵要素進(jìn)行抽取的有價(jià)信息?,F(xiàn)在各類(lèi)企業(yè)和組織都有自己的管理信息系統(tǒng),隨著時(shí)間的推移,數(shù)據(jù)庫(kù)中積累的結(jié)構(gòu)化數(shù)據(jù)越來(lái)越多,一些問(wèn)題顯現(xiàn)出來(lái),這些問(wèn)題可以分為四類(lèi):1)歷史數(shù)據(jù)和當(dāng)前數(shù)據(jù)都存在一個(gè)數(shù)據(jù)庫(kù)中,導(dǎo)致系統(tǒng)處理速度越來(lái)越慢;2)歷史數(shù)據(jù)與當(dāng)前數(shù)據(jù)的期限如何界定;3)歷史數(shù)據(jù)應(yīng)如何存儲(chǔ);4)歷史數(shù)據(jù)的二次增值如何解決。3.1.1大數(shù)據(jù)如何存儲(chǔ)1.結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)問(wèn)題1和問(wèn)題2可以一起處理。導(dǎo)致系統(tǒng)處理速度越來(lái)越慢的原因除了傳統(tǒng)的技術(shù)架構(gòu)和當(dāng)初建設(shè)系統(tǒng)的技術(shù)滯后于業(yè)務(wù)發(fā)展之外,最主要的是對(duì)于系統(tǒng)作用的定位問(wèn)題。從過(guò)去30年管理信息系統(tǒng)發(fā)展的歷史來(lái)看,隨著信息技術(shù)的發(fā)展和信息系統(tǒng)領(lǐng)域的不斷細(xì)分,可將信息系統(tǒng)分為兩類(lèi),一類(lèi)是基于目前的數(shù)據(jù)生產(chǎn)管理信息系統(tǒng),一類(lèi)是基于歷史的數(shù)據(jù)應(yīng)用管理信息系統(tǒng)。問(wèn)題3和問(wèn)題4可以放在一起處理。由于歷史數(shù)據(jù)量規(guī)模龐大,相對(duì)穩(wěn)態(tài),其存儲(chǔ)和加工處理與數(shù)據(jù)生產(chǎn)管理系統(tǒng)的思路應(yīng)有很大的不同。結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)是為了分析而存儲(chǔ),采用分布式方式,其目標(biāo)有兩個(gè):一是在海量的數(shù)據(jù)庫(kù)中快速查詢(xún)歷史數(shù)據(jù),二是在海量的數(shù)據(jù)庫(kù)中進(jìn)行有價(jià)值信息的分析和挖掘。2.非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)常見(jiàn)的非結(jié)構(gòu)化數(shù)據(jù)包括文件、圖片、視頻、語(yǔ)音、郵件和聊天記錄等,和結(jié)構(gòu)化數(shù)據(jù)相比,這些數(shù)據(jù)是未被抽象出有價(jià)值信息的數(shù)據(jù),需要經(jīng)過(guò)二次加工才能得到其有價(jià)值信息。由于非結(jié)構(gòu)化數(shù)據(jù)的生產(chǎn)不受格式約束、不受主題約束,人人隨時(shí)都可以根據(jù)自己的視角和觀點(diǎn)進(jìn)行創(chuàng)作生產(chǎn),所以數(shù)據(jù)量比結(jié)構(gòu)化數(shù)據(jù)大。由于非結(jié)構(gòu)化數(shù)據(jù)具有形式多樣、體量大、來(lái)源廣、維度多、有價(jià)內(nèi)容密度低、分析意義大等特點(diǎn),所以要為了分析而存儲(chǔ),而不是為了存儲(chǔ)而存儲(chǔ),即存儲(chǔ)工作是分析的前置工作。當(dāng)前針對(duì)非結(jié)構(gòu)化數(shù)據(jù)的特點(diǎn)均采用分布式文件系統(tǒng)方式來(lái)存儲(chǔ)這些數(shù)據(jù)。3.1.1大數(shù)據(jù)如何存儲(chǔ)3.半結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)半結(jié)構(gòu)化數(shù)據(jù)是指數(shù)據(jù)中既有結(jié)構(gòu)化數(shù)據(jù),也有非結(jié)構(gòu)化數(shù)據(jù),比如,攝像頭回轉(zhuǎn)給后端的數(shù)據(jù)中有位置、時(shí)間等結(jié)構(gòu)化數(shù)據(jù),還有圖片等非結(jié)構(gòu)化數(shù)據(jù)。這些數(shù)據(jù)是以數(shù)據(jù)流的形式傳遞的,所以半結(jié)構(gòu)化數(shù)據(jù)也叫流數(shù)據(jù)。對(duì)流數(shù)據(jù)進(jìn)行處理的系統(tǒng)叫做數(shù)據(jù)流系統(tǒng)。數(shù)據(jù)流的特點(diǎn)是數(shù)據(jù)不是永久存儲(chǔ)在數(shù)據(jù)庫(kù)中的靜態(tài)數(shù)據(jù),而是瞬時(shí)處理的源源不斷的連續(xù)數(shù)據(jù)流。在大量的數(shù)據(jù)流應(yīng)用系統(tǒng)中,數(shù)據(jù)流來(lái)自于地理上不同位置的數(shù)據(jù)源,非常適合分布式查詢(xún)處理。3.1.1大數(shù)據(jù)如何存儲(chǔ)1.容量問(wèn)題要求數(shù)據(jù)容量通??蛇_(dá)PB級(jí),因此,海量數(shù)據(jù)存儲(chǔ)系統(tǒng)一定要有相應(yīng)等級(jí)的擴(kuò)展能力。同時(shí)存儲(chǔ)系統(tǒng)的擴(kuò)展一定要簡(jiǎn)便,可以通過(guò)增加模塊或磁盤(pán)組來(lái)增加容量,擴(kuò)展時(shí)甚至不需要停機(jī)。2.延遲問(wèn)題“大數(shù)據(jù)”應(yīng)用存在實(shí)時(shí)性問(wèn)題,特別是涉及與網(wǎng)上交易或者金融類(lèi)相關(guān)的應(yīng)用。為了應(yīng)對(duì)這樣的挑戰(zhàn),各種模式的固態(tài)存儲(chǔ)設(shè)備應(yīng)運(yùn)而生,小到簡(jiǎn)單地在服務(wù)器內(nèi)部做高速緩存,大到通過(guò)高性能閃存存儲(chǔ)的全固態(tài)介質(zhì)可擴(kuò)展存儲(chǔ)系統(tǒng),以及自動(dòng)、智能地對(duì)熱點(diǎn)數(shù)據(jù)進(jìn)行讀/寫(xiě)高速緩存的系列產(chǎn)品。3.安全問(wèn)題某些特殊行業(yè)的應(yīng)用,比如金融數(shù)據(jù)、醫(yī)療信息以及政府情報(bào)等都有自己的安全標(biāo)準(zhǔn)和保密性要求。同時(shí),大數(shù)據(jù)分析往往需要多類(lèi)數(shù)據(jù)的相互參考,因此,會(huì)催生出一些新的、需考慮的安全問(wèn)題。4.成本問(wèn)題對(duì)于需要使用大數(shù)據(jù)環(huán)境的企業(yè)來(lái)說(shuō),成本控制是關(guān)鍵問(wèn)題。想控制成本,就意味著讓每一臺(tái)設(shè)備實(shí)現(xiàn)更高效率,同時(shí)盡量減少昂貴的部件。目前,重復(fù)數(shù)據(jù)刪除技術(shù)已進(jìn)入主存儲(chǔ)市場(chǎng)。3.1.2大數(shù)據(jù)存儲(chǔ)的問(wèn)題5.數(shù)據(jù)的積累任何數(shù)據(jù)都是歷史記錄的一部分,而且數(shù)據(jù)的分析大多是基于時(shí)間段進(jìn)行的。要實(shí)現(xiàn)長(zhǎng)期的數(shù)據(jù)保存,就要求存儲(chǔ)廠商開(kāi)發(fā)出能夠持續(xù)進(jìn)行數(shù)據(jù)一致性檢測(cè)和保持長(zhǎng)期高可用特性的產(chǎn)品,同時(shí)還要滿(mǎn)足數(shù)據(jù)直接在原位更新的功能需求。6.靈活性大數(shù)據(jù)存儲(chǔ)系統(tǒng)的基礎(chǔ)設(shè)施規(guī)模通常很大,因此必須經(jīng)過(guò)仔細(xì)設(shè)計(jì)才能保證存儲(chǔ)系統(tǒng)的靈活性,使其能夠隨著應(yīng)用分析軟件一起擴(kuò)容及擴(kuò)展。在大數(shù)據(jù)存儲(chǔ)環(huán)境中,數(shù)據(jù)會(huì)同時(shí)保存在多個(gè)部署站點(diǎn),已不需要再做數(shù)據(jù)遷移。一個(gè)大型的數(shù)據(jù)存儲(chǔ)基礎(chǔ)設(shè)施投入使用后就很難再調(diào)整,因此它必須能適應(yīng)不同應(yīng)用類(lèi)型和數(shù)據(jù)場(chǎng)景。7.應(yīng)用感知最早的一批大數(shù)據(jù)用戶(hù)已經(jīng)開(kāi)發(fā)出針對(duì)應(yīng)用的定制化的基礎(chǔ)設(shè)施,在主流存儲(chǔ)系統(tǒng)領(lǐng)域,應(yīng)用感知技術(shù)的使用越來(lái)越普遍,它是改善系統(tǒng)效率和性能的重要手段,8.針對(duì)小用戶(hù)依賴(lài)大數(shù)據(jù)的不僅僅是特殊的大型用戶(hù)群體,作為一種商業(yè)需求,小型企業(yè)也將會(huì)用到大數(shù)據(jù)。目前一些存儲(chǔ)廠商已經(jīng)在開(kāi)發(fā)一些小型的“大數(shù)據(jù)”存儲(chǔ)系統(tǒng),以吸引那些對(duì)成本比較敏感的用戶(hù)。3.1.2大數(shù)據(jù)存儲(chǔ)的問(wèn)題

3.2HDFS文件系統(tǒng)

3.2.1相關(guān)概念1.存儲(chǔ)塊HDFS使用Block(存儲(chǔ)塊)對(duì)文件的存儲(chǔ)進(jìn)行操作,Block是HDFS的基本存儲(chǔ)單元,在Hadoop1.x中默認(rèn)大小是64M,Hadoop2.x中大小默認(rèn)為128M,一個(gè)文件被分成多個(gè)塊,以塊作為存儲(chǔ)單位塊的大小遠(yuǎn)遠(yuǎn)大于普通文件系統(tǒng),可以最小化尋址開(kāi)銷(xiāo)。HDFS采用抽象的塊概念可以帶來(lái)以下幾個(gè)明顯的好處:支持大規(guī)模文件存儲(chǔ):文件以塊為單位進(jìn)行存儲(chǔ),一個(gè)大規(guī)模文件可以被分拆成若干個(gè)文件塊,不同的文件塊可以被分發(fā)到不同的節(jié)點(diǎn)上,因此,一個(gè)文件的大小不會(huì)受到單個(gè)節(jié)點(diǎn)的存儲(chǔ)容量的限制,可以遠(yuǎn)遠(yuǎn)大于網(wǎng)絡(luò)中任意節(jié)點(diǎn)的存儲(chǔ)容量。簡(jiǎn)化系統(tǒng)設(shè)計(jì):首先,大大簡(jiǎn)化了存儲(chǔ)管理,因?yàn)槲募K大小是固定的,這樣就可以很容易計(jì)算出一個(gè)節(jié)點(diǎn)可以存儲(chǔ)多少文件塊;其次,方便了元數(shù)據(jù)的管理,元數(shù)據(jù)不需要和文件塊一起存儲(chǔ),可以由其他系統(tǒng)負(fù)責(zé)管理元數(shù)據(jù)。適合數(shù)據(jù)備份:每個(gè)文件塊都可以冗余存儲(chǔ)到多個(gè)節(jié)點(diǎn)上,大大提高了系統(tǒng)的容錯(cuò)性和可用性。

3.2HDFS文件系統(tǒng)

2.NameNode、SecondaryNameNode和DataNodeNameNode管理文件系統(tǒng)的命名空間。NameNode維護(hù)兩套數(shù)據(jù):一套是文件目錄與數(shù)據(jù)塊之間的映射關(guān)系,另一套是數(shù)據(jù)塊與節(jié)點(diǎn)間的關(guān)系。SecondaryNameNode第二名稱(chēng)節(jié)點(diǎn)是HDFS架構(gòu)中的一個(gè)組成部分,它是用來(lái)保存名稱(chēng)節(jié)點(diǎn)中對(duì)HDFS元數(shù)據(jù)信息的備份,并減少名稱(chēng)節(jié)點(diǎn)重啟的時(shí)間。SecondaryNameNode一般是單獨(dú)運(yùn)行在一臺(tái)機(jī)器上。DataNode數(shù)據(jù)節(jié)點(diǎn)是分布式文件系統(tǒng)HDFS的工作節(jié)點(diǎn),負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和讀取,會(huì)根據(jù)客戶(hù)端或者是名稱(chēng)節(jié)點(diǎn)的調(diào)度來(lái)進(jìn)行數(shù)據(jù)的存儲(chǔ)和檢索,并且向名稱(chēng)節(jié)點(diǎn)定期發(fā)送自己所存儲(chǔ)的塊的列表。每個(gè)數(shù)據(jù)節(jié)點(diǎn)中的數(shù)據(jù)會(huì)被保存在各自節(jié)點(diǎn)的本地Linux文件系統(tǒng)中。

3.2HDFS文件系統(tǒng)

3.心跳機(jī)制所謂“心跳”是一種形象化描述,指的是持續(xù)的按照一定頻率在運(yùn)行,類(lèi)似于心臟在永無(wú)休止的跳動(dòng)。這里指的是DataNode向NameNode發(fā)送心跳的周期是3秒,NameNode周期性的從集群中的每個(gè)DataNode接收心跳包和塊報(bào)告,NameNode可以根據(jù)這個(gè)報(bào)告驗(yàn)證塊映射和其他文件系統(tǒng)元數(shù)據(jù)。收到心跳包說(shuō)明DataNode工作正常。如果DataNode不能發(fā)出心跳信息,NameNode會(huì)標(biāo)記沒(méi)有心跳的DataNode為宕機(jī),不會(huì)給它任何新的I/O請(qǐng)求。4.機(jī)架感知Hadoop在設(shè)計(jì)時(shí)考慮到數(shù)據(jù)的安全與高效,數(shù)據(jù)文件默認(rèn)在HDFS上存放三份,存儲(chǔ)策略為本地一份,同機(jī)架內(nèi)其它某一節(jié)點(diǎn)上一份,不同機(jī)架的某一節(jié)點(diǎn)上一份。這樣如果本地?cái)?shù)據(jù)損壞,節(jié)點(diǎn)可以從同一機(jī)架內(nèi)的相鄰節(jié)點(diǎn)拿到數(shù)據(jù),速度肯定比從跨機(jī)架節(jié)點(diǎn)上拿數(shù)據(jù)要快;同時(shí),如果整個(gè)機(jī)架的網(wǎng)絡(luò)出現(xiàn)異常,也能保證在其它機(jī)架的節(jié)點(diǎn)上找到數(shù)據(jù)。

3.2.2HDFS分布式文件系統(tǒng)的結(jié)構(gòu)

HDFS采用Master/Slave架構(gòu)。一個(gè)HDFS集群是由一個(gè)NameNode和一定數(shù)目的DataNodes組成。NameNode是一個(gè)中心服務(wù)器,負(fù)責(zé)管理文件系統(tǒng)的名字空間(namespace)以及客戶(hù)端對(duì)文件的訪問(wèn)。集群中的DataNode一般是一個(gè)節(jié)點(diǎn)一個(gè),負(fù)責(zé)管理它所在節(jié)點(diǎn)上的存儲(chǔ)。HDFS暴露了文件系統(tǒng)的名字空間,用戶(hù)能夠以文件的形式在上面存儲(chǔ)數(shù)據(jù)。從內(nèi)部看,一個(gè)文件其實(shí)被分成一個(gè)或多個(gè)數(shù)據(jù)塊,這些塊存儲(chǔ)在一組DataNode上。NameNode執(zhí)行文件系統(tǒng)的名字空間操作,比如打開(kāi)、關(guān)閉、重命名文件或目錄。它也負(fù)責(zé)確定數(shù)據(jù)塊到具體DataNode節(jié)點(diǎn)的映射。DataNode負(fù)責(zé)處理文件系統(tǒng)客戶(hù)端的讀寫(xiě)請(qǐng)求。在NameNode的統(tǒng)一調(diào)度下進(jìn)行數(shù)據(jù)塊的創(chuàng)建、刪除和復(fù)制,如圖3-1所示的HDFS文件系統(tǒng)整體結(jié)構(gòu)。

3.2.2HDFS分布式文件系統(tǒng)的結(jié)構(gòu)

2.3.3HDFS存儲(chǔ)原理

1.冗余數(shù)據(jù)保存作為一個(gè)分布式文件系統(tǒng),HDFS的主要設(shè)計(jì)目標(biāo)就是為了保證系統(tǒng)的容錯(cuò)性和可用性,HDFS采用了多副本方式對(duì)數(shù)據(jù)進(jìn)行冗余存儲(chǔ),通常一個(gè)數(shù)據(jù)塊的多個(gè)副本會(huì)被分布到不同的數(shù)據(jù)節(jié)點(diǎn)上,HDFS默認(rèn)的副本系數(shù)是3,這適用于大多數(shù)情況。如圖所示,數(shù)據(jù)塊A被分別存放到數(shù)據(jù)節(jié)點(diǎn)1和2和4上,數(shù)據(jù)塊B被存放在數(shù)據(jù)節(jié)點(diǎn)2、4和5上。這種多副本方式具有以下幾個(gè)優(yōu)點(diǎn):

(1)加快數(shù)據(jù)傳輸速度(2)容易檢查數(shù)據(jù)錯(cuò)誤(3)保證數(shù)據(jù)可靠性

3.2.3HDFS存儲(chǔ)原理

1.數(shù)據(jù)存取策略1)數(shù)據(jù)存放第一個(gè)副本:放置在上傳文件的數(shù)據(jù)節(jié)點(diǎn);如果是集群外提交,則隨機(jī)挑選一臺(tái)磁盤(pán)不太滿(mǎn)、CPU不太忙的節(jié)點(diǎn)。

第二個(gè)副本:放置在與第一個(gè)副本不同的機(jī)架的節(jié)點(diǎn)上。第三個(gè)副本:與第一個(gè)副本相同機(jī)架的其他節(jié)點(diǎn)上。更多副本:隨機(jī)節(jié)點(diǎn)。

3.2.3HDFS存儲(chǔ)原理

1.數(shù)據(jù)存取策略2)數(shù)據(jù)讀取當(dāng)客戶(hù)端讀取數(shù)據(jù)時(shí),從名稱(chēng)節(jié)點(diǎn)獲得數(shù)據(jù)塊不同副本的存放位置列表,列表中包含了副本所在的數(shù)據(jù)節(jié)點(diǎn),可以調(diào)用API來(lái)確定客戶(hù)端和這些數(shù)據(jù)節(jié)點(diǎn)所屬的機(jī)架ID,當(dāng)發(fā)現(xiàn)某個(gè)數(shù)據(jù)塊副本對(duì)應(yīng)的機(jī)架ID和客戶(hù)端對(duì)應(yīng)的機(jī)架ID相同時(shí),就優(yōu)先選擇該副本讀取數(shù)據(jù),如果沒(méi)有發(fā)現(xiàn),就隨機(jī)選擇一個(gè)副本讀取數(shù)據(jù)3)數(shù)據(jù)復(fù)制

數(shù)據(jù)復(fù)制主要是在數(shù)據(jù)寫(xiě)入和數(shù)據(jù)恢復(fù)的時(shí)候發(fā)生。當(dāng)客戶(hù)端向HDFS文件寫(xiě)入數(shù)據(jù)的時(shí)候,一開(kāi)始是寫(xiě)到本地臨時(shí)文件中。假設(shè)該文件的副本系數(shù)設(shè)置為3,當(dāng)本地臨時(shí)文件累積到一個(gè)數(shù)據(jù)塊的大小時(shí),客戶(hù)端會(huì)從NameNode獲取一個(gè)DataNode列表用于存放副本。然后客戶(hù)端開(kāi)始向第一個(gè)DataNode傳輸數(shù)據(jù),第一個(gè)DataNode一小部分一小部分(4KB)地接收數(shù)據(jù),將每一部分寫(xiě)入本地倉(cāng)庫(kù),并同時(shí)傳輸該部分到列表中第二個(gè)DataNode節(jié)點(diǎn)。第二個(gè)DataNode也是這樣,一小部分一小部分地接收數(shù)據(jù),寫(xiě)入本地倉(cāng)庫(kù),并同時(shí)傳給第三個(gè)DataNode。最后,第三個(gè)DataNode接收數(shù)據(jù)并存儲(chǔ)在本地。

3.3NoSQL數(shù)據(jù)庫(kù)

NoSQL(NotOnlySQL),意即“不僅僅是SQL”,泛指非關(guān)系型的數(shù)據(jù)庫(kù),是一項(xiàng)全新的數(shù)據(jù)庫(kù)革命性運(yùn)動(dòng)。NoSQL一詞最早出現(xiàn)于1998年,是CarloStrozzi開(kāi)發(fā)的一個(gè)輕量、開(kāi)源、不提供SQL功能的關(guān)系型數(shù)據(jù)庫(kù)。2009年Last.fm的JohanOskarsson發(fā)起了一次關(guān)于分布式開(kāi)源數(shù)據(jù)庫(kù)的討論,來(lái)自Rackspace的EricEvans再次提出了NoSQL的概念,這時(shí)的NoSQL主要指非關(guān)系型、分布式、不提供ACID的數(shù)據(jù)庫(kù)設(shè)計(jì)模式。2009年在亞特蘭大舉行的“no:sql(east)”討論會(huì)是一個(gè)里程碑,其口號(hào)是selectfun,profitfromreal—worldwhererelational=false;”。因此,對(duì)于NoSQL,最普遍的解釋是“非關(guān)聯(lián)型的”,強(qiáng)調(diào)鍵值存儲(chǔ)和文檔數(shù)據(jù)庫(kù)的優(yōu)點(diǎn),而不是單純地反對(duì)RDBMS。相對(duì)于目前鋪天蓋地的關(guān)系型數(shù)據(jù)庫(kù)運(yùn)用,這一概念無(wú)疑是一種全新的思維的注入。

3.3NoSQL數(shù)據(jù)庫(kù)

3.3.1NoSQL的產(chǎn)生傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)在應(yīng)付Web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類(lèi)型的Web2.0純動(dòng)態(tài)網(wǎng)站方面,已經(jīng)顯得力不從心,暴露了很多難以克服的問(wèn)題,主要包括以下幾個(gè)方面:

對(duì)數(shù)據(jù)庫(kù)高并發(fā)讀寫(xiě)的性能需求:Web2.0網(wǎng)站要根據(jù)用戶(hù)個(gè)性化信息來(lái)實(shí)時(shí)生成動(dòng)態(tài)頁(yè)面和提供動(dòng)態(tài)信息,所以,基本上無(wú)法使用動(dòng)態(tài)頁(yè)面靜態(tài)化技術(shù),因此數(shù)據(jù)庫(kù)并發(fā)負(fù)載非常高,往往要達(dá)到每秒上萬(wàn)次讀寫(xiě)請(qǐng)求。關(guān)系數(shù)據(jù)庫(kù)應(yīng)付上萬(wàn)次SQL查詢(xún)還勉強(qiáng)頂?shù)米?,但是?yīng)付上萬(wàn)次SQL寫(xiě)數(shù)據(jù)請(qǐng)求,硬盤(pán)I/O就已經(jīng)無(wú)法承受了。其實(shí)對(duì)于普通的BBS網(wǎng)站,往往也存在對(duì)高并發(fā)寫(xiě)請(qǐng)求的需求。

3.3NoSQL數(shù)據(jù)庫(kù)

對(duì)海量數(shù)據(jù)的高效率存儲(chǔ)和訪問(wèn)的需求:對(duì)于大型的SNS站,每天用戶(hù)產(chǎn)生海量的用戶(hù)動(dòng)態(tài),以國(guó)外的Friendfeed為例,一個(gè)月就達(dá)到了2.5億條用戶(hù)動(dòng)態(tài),對(duì)于關(guān)系數(shù)據(jù)庫(kù)來(lái)說(shuō),在一張2.5億條記錄的表里面進(jìn)行SQL查詢(xún),效率是極其低下甚至是不可忍受的。再例如大型Web網(wǎng)站的用戶(hù)登錄系統(tǒng),例如騰訊和盛大,動(dòng)輒數(shù)以?xún)|計(jì)的帳號(hào),關(guān)系數(shù)據(jù)庫(kù)也很難應(yīng)付。

對(duì)數(shù)據(jù)庫(kù)的高可擴(kuò)展性和高可用性的需求:在基于Web的架構(gòu)當(dāng)中,數(shù)據(jù)庫(kù)是最難進(jìn)行橫向擴(kuò)展的,當(dāng)一個(gè)應(yīng)用系統(tǒng)的用戶(hù)量和訪問(wèn)量與日俱增的時(shí)候,你的數(shù)據(jù)庫(kù)卻沒(méi)有辦法像網(wǎng)頁(yè)服務(wù)器和應(yīng)用服務(wù)器那樣簡(jiǎn)單地通過(guò)添加更多的硬件和服務(wù)節(jié)點(diǎn)來(lái)擴(kuò)展性能和負(fù)載能力。對(duì)于很多需要提供24小時(shí)不間斷服務(wù)的網(wǎng)站來(lái)說(shuō),對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行升級(jí)和擴(kuò)展是非常痛苦的事情,往往需要停機(jī)維護(hù)和數(shù)據(jù)遷移。

3.2.2NoSQL與RDBMS

關(guān)系型數(shù)據(jù)庫(kù)與NoSQL的簡(jiǎn)單比較

3.3.3NoSQL的分類(lèi)

NoSQL僅僅是一個(gè)概念,NoSQL數(shù)據(jù)庫(kù)根據(jù)數(shù)據(jù)的存儲(chǔ)模型和特點(diǎn)分為很多種類(lèi),如何對(duì)他們分類(lèi),以便方便地根據(jù)自己應(yīng)用特色選擇不同的NoSQL數(shù)據(jù)庫(kù)呢?NoSQL主要有六種存儲(chǔ)類(lèi)型:列存儲(chǔ)、文檔存儲(chǔ)、Key-value存儲(chǔ)、圖存儲(chǔ)、對(duì)象存儲(chǔ)、xml數(shù)據(jù)庫(kù),如表所示。

3.3.4NoSQL與NewSQL

雖然NoSQL數(shù)據(jù)庫(kù)提供了高擴(kuò)展性和靈活性,但是它也有自己的缺點(diǎn),主要有以下幾個(gè)方面:數(shù)據(jù)模型和查詢(xún)語(yǔ)言沒(méi)有數(shù)字驗(yàn)證。SQL基于關(guān)系代數(shù)和關(guān)系演算的查詢(xún)結(jié)構(gòu)有堅(jiān)實(shí)的數(shù)學(xué)保證,由于NoSQL沒(méi)有使用SQL,而使用一些模型還未有完善的數(shù)學(xué)基礎(chǔ),這也是NoSQL系統(tǒng)較為混亂的主要原因之一。不支持ACID特性。這為NoSQL帶來(lái)優(yōu)勢(shì)的同時(shí)也帶了了缺點(diǎn),事務(wù)在有些情況下需要ACID特性使得系統(tǒng)在中斷情況下也能保證在線事務(wù)準(zhǔn)確執(zhí)行。功能簡(jiǎn)單。大多數(shù)NoSQL系統(tǒng)提供的功能比較簡(jiǎn)單,這就增加了應(yīng)用層的負(fù)擔(dān)。例如應(yīng)用層要實(shí)現(xiàn)ACID,那么編寫(xiě)代碼的程序員一定極其痛苦。沒(méi)有統(tǒng)一的查詢(xún)模型。NoSQL系統(tǒng)一般提供不同的查詢(xún)模型,這使得很難規(guī)范應(yīng)用程序接口。

3.3.4NoSQL與NewSQL

NewSQL是用于在線事務(wù)處理(OLTP)的下一代可伸縮關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),它可為讀寫(xiě)工作負(fù)載提供NoSQL系統(tǒng)的可伸縮性能,并且維護(hù)保證傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)的ACID(原子性,一貫性,隔離,耐久性)。這些系統(tǒng)通過(guò)employingNoSQL樣式的功能(如面向列的數(shù)據(jù)存儲(chǔ)和分布式體系結(jié)構(gòu))來(lái)突破傳統(tǒng)的RDBMS性能限制,或采用內(nèi)存處理、對(duì)稱(chēng)多處理(SMP)或Massively并行加工等技術(shù),并集成NoSQL或Searchcomponents,旨在處理大數(shù)據(jù)的體積、品種、速度和變異性等難題。

3.3.4NoSQL與NewSQL

NewSQL數(shù)據(jù)庫(kù)的分類(lèi)類(lèi)似于NoSQL,有許多類(lèi)別的NewSQL解決方案。分類(lèi)是基于供應(yīng)商為保留SQL接口而采用的不同方法,并解決傳統(tǒng)的OLTP解決方案的可伸縮性和性能問(wèn)題。NewSQL系統(tǒng)可分為三類(lèi)新的體系結(jié)構(gòu)數(shù)據(jù)庫(kù)點(diǎn)集群中運(yùn)行的。這些數(shù)據(jù)庫(kù)通常是從頭編寫(xiě)的,并考慮到分布式體系結(jié)構(gòu),包括分布式并發(fā)控制、流控制和分布式查詢(xún)處理等組件。這類(lèi)數(shù)據(jù)庫(kù)有VoltDB、NuoDBClustrix等。新的MySQL存儲(chǔ)引擎相同的編程接口,但比內(nèi)置引擎(如InnoDB)更有規(guī)模。這些新的存儲(chǔ)引擎的例子包括TokuDB和InfiniDB。透明聚類(lèi)/切分這些解決方案保留了OLTP數(shù)據(jù)庫(kù)的原始格式,為群集提供了可插入的功能,以確??缮炜s性。

3.4HBase數(shù)據(jù)庫(kù)

3.4.1

Hbase簡(jiǎn)介HBase即HadoopDatabase,是一個(gè)分布式的、面向列的開(kāi)源數(shù)據(jù)庫(kù),該技術(shù)來(lái)源于FayChang所撰寫(xiě)的Google論文“Bigtable:一個(gè)結(jié)構(gòu)化數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)”。就像Bigtable利用了Google文件系統(tǒng)(FileSystem)所提供的分布式數(shù)據(jù)存儲(chǔ)一樣,HBase在Hadoop之上提供了類(lèi)似于Bigtable的能力。HBase是Apache的Hadoop項(xiàng)目的子項(xiàng)目。HBase不同于一般的關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù)。另一個(gè)不同的是HBase基于列的而不是基于行的模式。數(shù)據(jù)模型HBase的數(shù)據(jù)模型也是由一張張的表組成,每一張表里也有數(shù)據(jù)行和列,但是在HBase數(shù)據(jù)庫(kù)中的行和列又和關(guān)系型數(shù)據(jù)庫(kù)的稍有不同。下面統(tǒng)一介紹HBase數(shù)據(jù)模型中一些名詞的概念:表(Table):HBase會(huì)將數(shù)據(jù)組織進(jìn)一張張的表里面,但是需要注意的是表名必須是能用在文件路徑里的合法名字,因?yàn)镠Base的表是映射成hdfs上面的文件。行鍵(RowKey):HBase表的主鍵,表中的記錄按照行鍵排序;

時(shí)間戳(Timestamp):每次數(shù)據(jù)操作對(duì)應(yīng)的時(shí)間戳,可以看作是數(shù)據(jù)的版本號(hào);

列族(ColumnFamily):表在水平方向有一個(gè)或者多個(gè)列族組成,一個(gè)列族中可以由任意多個(gè)列組成,即列族支持動(dòng)態(tài)擴(kuò)展,無(wú)需預(yù)先定義列的數(shù)量以及類(lèi)型,所有列均以二進(jìn)制格式存儲(chǔ),用戶(hù)需要自行進(jìn)行類(lèi)型轉(zhuǎn)換。單元(Cell):每一個(gè)行鍵,列族和列標(biāo)識(shí)共同組成一個(gè)單元,存儲(chǔ)在單元里的數(shù)據(jù)稱(chēng)單元數(shù)據(jù),單元和單元數(shù)據(jù)也沒(méi)有特定的數(shù)據(jù)類(lèi)型,以二進(jìn)制字節(jié)來(lái)存儲(chǔ)。

3.4.1Hbase簡(jiǎn)介

HBase的系統(tǒng)架構(gòu)個(gè)功能組件類(lèi)似于HDFS,由ZooKeeper、HMaster、HRegionServer組成。其中HMaster的作用類(lèi)似于HDFS中的NameNode名字節(jié)點(diǎn);HRegionServer的作用類(lèi)似于數(shù)據(jù)節(jié)點(diǎn)DataNode。

3.4.2Hbase體系結(jié)構(gòu)

1)ClientClient是Hbase功能的使用者,包含訪問(wèn)HBase的接口,client維護(hù)著一些緩存來(lái)加快對(duì)HBase的訪問(wèn),比如HRegion的位置信息。HBaseClient使用HBase的RPC機(jī)制與HMaster和HRegionServer進(jìn)行通信。對(duì)于管理類(lèi)操作,Client與HMaster進(jìn)行RPC;對(duì)于數(shù)據(jù)讀寫(xiě)類(lèi)操作,Client與HRegionServer進(jìn)行RPC。2)zookeeper協(xié)調(diào)者Zookeeper存儲(chǔ)了RegionServer的狀態(tài)信息、HMaster地址,存儲(chǔ)Hbase的schema,包括有哪些table,每個(gè)table有哪些columnfamily。監(jiān)控主Master和備用Master,一旦主Master異常馬上啟用備用Master。HMaster隨時(shí)感知各個(gè)HRegionServer的健康狀況。

3.4.2Hbase體系結(jié)構(gòu)

3)HMaster管理者HMaster沒(méi)有單點(diǎn)問(wèn)題,HBase中可以啟動(dòng)多個(gè)HMaster,通過(guò)Zookeeper的MasterElection機(jī)制保證總有一個(gè)HMaster運(yùn)行,HMaster在功能上主要負(fù)責(zé)表和HRegion的管理工作:

管理用戶(hù)對(duì)表的增、刪、改、查操作;

管理HRegionServer的負(fù)載均衡,調(diào)整HRegion分布;

在HRegion分裂后,負(fù)責(zé)新HRegion的分配;

在HRegionServer停機(jī)后,負(fù)責(zé)失效HRegionServer上的HRegion的遷移。

每個(gè)HRegion服務(wù)器都會(huì)和HMaster服務(wù)器通訊,HMaster的主要任務(wù)就是要告訴每個(gè)HRegion服務(wù)器它要維護(hù)哪些HRegion。

3.4.2Hbase體系結(jié)構(gòu)

4)HRegionServer存儲(chǔ)者HregionServer是HBase中最核心的模塊,主要負(fù)責(zé)響應(yīng)用戶(hù)I/O請(qǐng)求,向HDFS文件系統(tǒng)中讀寫(xiě)數(shù)據(jù)。HRegionServer內(nèi)部管理了一系列HRegion對(duì)象,每個(gè)HRegion對(duì)應(yīng)著表(Table)中的一個(gè)HRegion,HRegion由多個(gè)HStore組成。每個(gè)HStore對(duì)應(yīng)了表中的一個(gè)列族的存儲(chǔ),可以看出,每個(gè)列族其實(shí)就是一個(gè)集中的存儲(chǔ)單元,因此,最好將具備共同IO特性的列放在一個(gè)列族中,這樣最高效。Client訪問(wèn)HBase上數(shù)據(jù)的過(guò)程并不需要HMaster參與(尋址訪問(wèn)Zookeeper和HRegionServer,數(shù)據(jù)讀寫(xiě)訪問(wèn)HRegionServer),HMaster僅僅維護(hù)著表和HRegion的元數(shù)據(jù)信息,負(fù)載很低。

3.4.2Hbase體系結(jié)構(gòu)

1.物理模型用戶(hù)在表格中存儲(chǔ)數(shù)據(jù),每一行都有一個(gè)可排序的主鍵和任意多的列。由于是稀疏存儲(chǔ),同一張里面的每一行數(shù)據(jù)都可以有截然不同的列。列名字的格式是"<family>:<qualifier>",都是由字符串組成的,每一張表有一個(gè)列族集合,這個(gè)集合是固定不變的,只能通過(guò)改變表結(jié)構(gòu)來(lái)改變。但是qulifier值相對(duì)于每一行來(lái)說(shuō)都是可以改變的。HBase把同一個(gè)列族里面的數(shù)據(jù)存儲(chǔ)在同一個(gè)目錄下,并且HBase的寫(xiě)操作是鎖行的,每一行都是一個(gè)原子元素,都可以加鎖。HBase所有數(shù)據(jù)庫(kù)的更新都有一個(gè)時(shí)間戳標(biāo)記,每個(gè)更新都是一個(gè)新的版本,HBase會(huì)保留一定數(shù)量的版本,這個(gè)值是可以設(shè)定的,客戶(hù)端可以選擇獲取距離某個(gè)時(shí)間點(diǎn)最近的版本單元的值,或者一次獲取所有版本單元的值。

3.4.3

HBase數(shù)據(jù)模型

2.概念視圖可以將一個(gè)表想象成一個(gè)大的映射關(guān)系,通過(guò)行健、行健+時(shí)間戳或行鍵+列(列族:列修飾符),就可以定位特定數(shù)據(jù),HBase是稀疏存儲(chǔ)數(shù)據(jù)的,因此某些列可以是空白的,下表是某個(gè)test表的HBase概念視圖。

3.4.3

HBase數(shù)據(jù)模型

3.5大數(shù)據(jù)處理

3.5.1多處理器技術(shù)1.單處理器計(jì)算性能的發(fā)展提升單處理器計(jì)算機(jī)系統(tǒng)計(jì)算速度的常用技術(shù)手段有以下幾個(gè)方面:1)提升計(jì)算機(jī)處理器字長(zhǎng)。2)提高處理器芯片集成度。3)提升處理器的主頻。4)改進(jìn)處理器微架構(gòu)。2.多處理器技術(shù)的發(fā)展大數(shù)據(jù)處理的基本單元是計(jì)算機(jī),作為計(jì)算機(jī)核心的處理器的功能是將輸入的數(shù)字化數(shù)據(jù)和信息進(jìn)行加工和處理,然后將結(jié)果輸出。因此處理器的性能往往是決定計(jì)算機(jī)性能高低的決定性因素。衡量一個(gè)具有N個(gè)處理器的計(jì)算節(jié)點(diǎn)的性能指標(biāo)可用公式(3-1)表示。

公式(3-1)

IPS的計(jì)算過(guò)程包括兩部分,前半部分是單個(gè)處理器計(jì)算能力的計(jì)算過(guò)程,后半部分是N個(gè)并行處理器結(jié)合后該計(jì)算節(jié)點(diǎn)的計(jì)算能力的計(jì)算過(guò)程。在前半部分中,MF(MainFrequency)為處理器的主頻,即處理器內(nèi)核工作的時(shí)鐘頻率(ClockSpeed);IPC(InstructionPerClock)為每個(gè)時(shí)鐘周期內(nèi)可執(zhí)行的指令數(shù)。在后半部分中,F(xiàn)為計(jì)算工作中不可被并行化的部分所占比例;N為處理器數(shù)量。

從公式中可以看出,提高計(jì)算節(jié)點(diǎn)的性能有兩個(gè)途徑,一方面是增加單處理器的計(jì)算能力;另一方面是增加處理器的數(shù)量從公式可以看出,提高處理器的主頻(MF)是提升計(jì)算能力的最直接方式

3.5.1多處理器技術(shù)

多處理器計(jì)算系統(tǒng)按照其結(jié)構(gòu)特征,通??梢苑譃閮深?lèi):非對(duì)稱(chēng)多處理器架構(gòu)(AsymmetricMultiProcessing,ASMP);對(duì)稱(chēng)多處理器架構(gòu)(SymmetricMultiProcessing,SMP)

3.5.1多處理器技術(shù)

3.5.2并行計(jì)算

并行計(jì)算(Pa

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論